jQuery:用类名找到以前的兄弟姐妹?

时间:2017-12-07 17:37:20

标签: jquery

我有这样的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();
});

3 个答案:

答案 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()