2

要素のリストが長い<li>場合、1つをクリックすると、特定の文字列を含むクラス名を持つ要素に到達するまで、すべての兄弟要素を取得するにはどうすればよいですか?

例:

<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 に答える