得到以前的兄弟姐妹,直到上课是“某事”

时间:2011-09-07 20:35:05

标签: jquery siblings

如果我有一个很长的<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,则会导致其间的所有元素包括单击的元素(andSelf())和one-two class element。

谢谢。

1 个答案:

答案 0 :(得分:5)

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);
});