2

如果我有一长串<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类元素。

谢谢你。

4

1 回答 1

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);
});
于 2011-09-07T20:38:36.633 回答