0

多くのdivのリストがあります。各ブロックは常にこのパターンに従い、ページ上で数回続きます。

<div ...>
    <div ...>count</div>
    <div ...>Unread</div>
</div>

目標は、兄弟をチェックすることdivです。カウントがゼロでない場合は、css を変更します。それ以外の場合はスキップします。

それらにはids がなく、クラス名が変わります。他の誰かが html を書いたので、それを改善することはできません。

私のコードは、「未読」を含む div を選択していないようです。色を変更する必要があります。

http://jsfiddle.net/ninmonkeys/5yDZb/

使用して選択した場合contains("Unread")、親を使用して兄弟を取得できるはずですか?

$("div:contains('Unread')").css("background-color:red !important;");
4

3 に答える 3

3

あなたの問題は要素を選択することではなく、次のものを使用することですcss:

http://jsfiddle.net/5yDZb/2/

.css("background-color", "red");

値を設定する場合、.cssは 2 つのパラメーターを受け取ります。最初のパラメーターはプロパティで、2 番目のパラメーターは値です。

于 2013-10-23T20:53:52.673 に答える
1
$("div:contains('Unread')").css({"background-color":"red"});
于 2013-10-23T20:56:02.090 に答える
1

css 構文が正しくありませんでしたが、それを修正するだけでは目的が得られないと思います。セレクターは、必要な divの:contains()親と一致しています。代わりに使用できますfilter

http://jsfiddle.net/TPeSP/

$('div').filter(function() {
    return $(this).text() == 'Unread' && $(this).siblings('div').text() != "0";  
}).css("background-color", "red");
于 2013-10-23T20:57:55.400 に答える