如果我有一长串的<li>元素,当单击一个元素时,如何获得所有同级元素,直到达到具有包含给定字符串的类名的元素为止?

例:

<li>test</li>
<li class="one-two red">test</li>
<li class="green">test</li>
<li>test</li>
<li>test</li>
<li class="test">test</li>
<li>test</li>
<li>test</li>


在上面的示例中,如果单击li.test且给定的字符串为ne-tw,将导致介于其中的所有元素包括clicked元素(andSelf())和one-two类元素。

谢谢。

最佳答案

jQuery为此提供了一种方法:

var someclass = "one-two";
$("li").click(function(){
    var sel = $(this).prevUntil("." + someclass).andSelf();
    sel = sel.add(sel.eq(0).prev());
    console.log(sel);
});


http://api.jquery.com/prevUntil

编辑:注释中的代码示例:

var someclass = "one";
$("li").click(function(){
    var sel = $(this).prevUntil("[class*=" + someclass + "]").andSelf();
    sel = sel.add(sel.eq(0).prev());
    console.log(sel);
});

关于jquery - 得到 previous sibling 姐妹,直到上课是“某物”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7340207/

10-10 22:00
查看更多