ない場合には、私は、それらが可視B
項目が続く全A
アイテムにマッチするセレクタquerySelectorまたは機能をするノードアイテム用のJavaScriptセレクタ次可視
A
B
B
A
A
A
B
B
のリストを持っていると言います。
jQueryの$(".a ~ .b:visible")
は、.b
セレクタのリストを返します。.a
が必要です。そしてそれはjQueryであり、純粋なjavascriptではありません。
ない場合には、私は、それらが可視B
項目が続く全A
アイテムにマッチするセレクタquerySelectorまたは機能をするノードアイテム用のJavaScriptセレクタ次可視
A
B
B
A
A
A
B
B
のリストを持っていると言います。
jQueryの$(".a ~ .b:visible")
は、.b
セレクタのリストを返します。.a
が必要です。そしてそれはjQueryであり、純粋なjavascriptではありません。
隣接する兄弟セレクタの:has()
と+
の組み合わせを使用できます。
$('.a:has(+ .b:visible)').css('color', 'red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a">A</div>
<div class="b">B</div>
<div class="b" style="display: none;">B</div>
<div class="a">A</div>
<div class="b" style="display: none;">B</div>
<div class="b">B</div>
それとも.b:visible
、その後prev(.a)
要素を選択することができます。
$('.b:visible').prev('.a').css('color', 'red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a">A</div>
<div class="b">B</div>
<div class="b" style="display: none;">B</div>
<div class="a">A</div>
<div class="b" style="display: none;">B</div>
<div class="b">B</div>
あなたは.next()メソッドを試してみましたか?
var list
$(".a")each(function(index, obj) {
if($(obj).next().is(":visible")) {
list += obj
}
})
AAH、私が使用して考えていなかった: – frumbert