JS将类定位在元素的正上方
JS Target a class directly above element
我正试图使用jQuery向元素添加/删除一个类,但我只想将目标锁定在'.content'类上,该类位于'.trick'的正上方,本质上使每个类独立工作。
有什么最好的方法吗?
提前感谢
HTML
<div class="instance">
<span class="content showHide">this is hidden</span>
<a href="#" class="trigger">trigger</a>
</div>
<br />
<div class="instance">
<span class="content showHide">this is hidden</span>
<a href="#" class="trigger">trigger</a>
</div>
<br />
<div class="instance">
<span class="content showHide">this is hidden</span>
<a href="#" class="trigger">trigger</a>
</div>
CSS
<style type="text/css">
.showHide{
display: none;
}
</style>
JS
<script type="text/javascript">
$(document).ready(function(){
$('.instance a.trigger').click(function(){
$('span.content').toggleClass('showHide');
});
});
</script>
尝试使用仅针对.content
元素的.prev()
,该元素是.trigger
元素的前一个同级元素:
$(document).ready(function(){
$('.instance a.trigger').click(function(){
$(this).prev('span.content').toggleClass('showHide');
});
});
您也可以使用siblings()
。它只针对同一容器中的所有内容
$(document).ready(function(){
$('.instance a.trigger').click(function(){
$(this).siblings('span.content').toggleClass('showHide');
});
});
Fiddle
此方法将允许.content
位于容器中的任何位置,无论是在.trigger
之前还是之后
相关文章:
- 在Jquery detachment()和appendTo()之后定位元素
- stickyfloat无法处理绝对定位的元素
- Selenium无法在浏览器DOM中定位元素
- 从定位目标中的元素中清除类
- 如何使用jquery对元素进行排序和定位
- 在IE9中使用jQuery.change定位select元素
- spin.js/angular spinner:如何将spin定位到DOM元素中(包括plunker演示)
- 如果元素在容器外部,是否可以相对于容器以绝对定位来定位该元素
- 根据其他调整大小的html元素定位背景图像
- 将html元素定位在页面中的任何x/y坐标处
- 相对于另一个 css 元素定位一个元素,而不编辑 html
- jquery 中的元素定位
- 我可以使用什么来生成元素定位器的名称
- 旧版浏览器中的高效元素定位
- 所见即所得,具有绝对的元素定位
- 将元素定位到另一个元素的右侧
- HTML动态/响应式元素定位
- 如何在量角器中找到元素定位器
- Css /javascript用于元素定位/大小
- Jquery元素定位问题