如何使用jQuery选择兄弟元素?

时间:2011-09-18 17:49:57

标签: jquery selector

你能帮助我使用这个jQuery选择器吗?

$(".auctiondiv .auctiondivleftcontainer .countdown").each(function () {
    var newValue = parseInt($(this).text(), 10) - 1;
    $(this).text(newValue);

    if (newValue == 0) {
        $(this).parent().fadeOut();
        chat.verify($(this).parent().parent().attr('id'));
    }
});

基本上,我想选择与.bidbutton类相同的元素,该元素与每个循环中的.countdown属于同一个父级:

<div class="auctiondivleftcontainer">
    <p class="countdown">0</p>
    <button class="btn primary bidbutton">Lance</button>                            
</div>  

然后将其应用于该按钮:

$(button here).addClass("disabled");
$(button here).attr("disabled", "");

12 个答案:

答案 0 :(得分:96)

使用jQuery .siblings()选择匹配的兄弟。

$(this).siblings('.bidbutton');

答案 1 :(得分:4)

$(this).siblings(".bidbutton")

答案 2 :(得分:2)

这是一个链接,有助于了解如何在Jquery中选择一个兄弟元素。

How do I select a sibling element using jQuery

$("selector").nextAll(); 
$("selector").prev(); 

你也可以使用Jquery选择器

找到一个元素
$("h2").siblings('table').find('tr'); 

有关详细信息,请参阅此链接next(), nextAll(), prev(), prevAll(), find() and siblings in JQuery

答案 3 :(得分:2)

$("h2").siblings().css({"color": "blue"});

详细信息在以下来源中描述:

http://www.namasteui.com/traversing-siblings/

答案 4 :(得分:2)

you can use 
$(this).siblings(".bidbutton").addClass("disabled");
$(this).siblings(".bidbutton").attr("disabled","");

答案 5 :(得分:1)

jQuery提供了一个名为 "siblings()" 的方法,它可以帮助我们返回所选元素的所有兄弟元素。例如,如果要将CSS应用于同级选择器,则可以使用此方法。以下是一个说明这一点的例子。您可以尝试这个示例并使用它来了解它的工作原理。

$("p").siblings("h4").css({"color": "red", "border": "2px solid red"});

答案 6 :(得分:0)

由于$(this)引用.countdown,您可以更具体地使用$(this).next()$(this).next('button')

答案 7 :(得分:0)

尝试 -

   $(this).siblings(".bidbutton").addClass("disabled").attr("disabled", "");

答案 8 :(得分:0)

如果您想选择特定的兄弟姐妹:

var $sibling = $(this).siblings('.bidbutton')[index];

其中'index'是父容器中特定兄弟的索引。

答案 9 :(得分:0)

如果您还需要选择一个名称而不是类别的兄弟姐妹,则可以使用以下内容

var $sibling = $(this).siblings('input[name=bidbutton]');

答案 10 :(得分:0)

您可以使用jQuery选择同级元素

 <script type="text/javascript">
    $(document).ready(function(){
        $("selector").siblings().addClass("classname");
    });
 </script>

Demo here

答案 11 :(得分:0)

如果我理解正确的话,你已经在一个循环中(每个),所以你总是想在每个循环运行中选择那个一个同级按钮? 由于 siblings() 返回一个数组,这将是要走的路:

$(this).siblings('.bidbutton')[0]

你可以在一行中应用你想要的东西:

$(this).siblings('.bidbutton')[0].addClass("disabled").attr("disabled", "");