我有这样的HTML代码:
<div class="buildExMain">
Select An Option
<i class="fa fa-check-circle" aria-hidden="true"></i>
<div class="buildExDrop">
<p class="pSelection">Number 1</p>
<p class="pSelection">Number 2</p>
</div>
</div>
现在,我在点击show();
时尝试.fa
.pSelection
元素。
我试过这个jquery代码没有运气:
$(document).on('click','.pSelection', function(e){
//This doesn't work////
$(this).prev(".fa").show();
//doesn't work either///
$(this).prevAll(".buildExMain.fa:first").show();
});
答案 0 :(得分:3)
.prev()
选择上一个兄弟,<i>
元素不是。你想要:
$(this).closest("div.buildExMain").find('i.fa').show();
或者,由于其父 是<i>
的兄弟,您可以一起使用.parent()
和.prev()
,如:
$(this).parent().prev('i.fa').show();
答案 1 :(得分:1)
你元素是div元素的子元素,你想要在它上面找到元素。
$(this).parent().prev(".fa").show();
答案 2 :(得分:1)
您需要了解此范围
通过查看代码此元素只能是其中一个<p>
元素,因此如果您搜索此的兄弟,它只会查找你要做的其他<p>
元素
$('.fa').show()
or
$(this).parent().prev().show() //this is because it's exactly the previous sibling
or
$(this).parent().prev('.fa').show()