0

私は、次のような異なる bg クラスを持つ div コンテナーを使用します。

<!--Recipes-->
    <div class="PozVideos BgBlue RadiusTopTen">
        <div class="Caption">Yemek tarifleri</div>
        <ul>
            <li><a href=""><img src="" alt=""></a></li>
            <li><a href=""><img src="" alt=""></a></li>
            <li><a href=""><img src="" alt=""></a></li>
            <li><a href=""><img src="" alt=""></a></li>
            <li><a href=""><img src="" alt=""></a></li>
            <li><a href=""><img src="" alt=""></a></li>
        </ul>
    </div>
    <!--Recipes-->
<!--Videos-->
<div class="PozVideos BgPurple RadiusTopTen">
    <div class="Caption">Video Galeri</div>
    <ul>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
    </ul>
</div>
<!--Videos-->
<!--Gallery-->
<div class="PozVideos BgYellow RadiusTopTen">
    <div class="Caption">Fotoğraf Galerileri</div>
    <ul>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
        <li><a href=""><img src="" alt=""></a></li>
    </ul>
</div>
<!--Gallery-->

<li>たとえば、それぞれに別の異なるバックグラウンド クラスを追加するにはどうすればよいですか。

  • PozVideos クラスに BgYellow クラスがある場合、この div.containner(PozVideos) の各 li 要素に BgYellowForLi クラスを追加します。

  • PozVideos クラスに BgPruple クラスがある場合、この div.containner(PozVideos) の各 li 要素に BgPurpleForLi クラスを追加します。

jQueryでそれは可能ですか?

4

5 に答える 5

5
$('.PozVideos.BgYellow li').addClass('BgYellowForLi');

ただし、CSSを変更した方がよい場合があります。

.PozVideos li {
    /* styles that apply for all li's in any PozVideos */
}

.PozVideos.BgYellow li {
   /* styles that apply only to yellow li's */
}
于 2012-11-16T10:27:27.123 に答える
4
$('.PozVideos.BgYellow').find('li').addClass('BgYellowForLi');

$('.PozVideos.BgPruple').find('li').addClass('BgPurpleForLi');

いくつかのifステートメントで何をしたいのかを説明するようにコードを書くこともできます

var $yellowElem = $('.PozVideos.BgYellow li');
if($yellowElem.length > 0) {
  $yellowElem.addClass('BgYellowForLi');
}
于 2012-11-16T10:27:37.603 に答える
0

動的ソリューション:

$('#PozVideos').each(function(){

    var classList = $(this).prop('class').split(/\s+/);

    $(this).find('li').addClass(classList[1] + 'ForLi');
});
于 2012-11-16T10:29:58.080 に答える
0

これも次のように実現できます。

var bgParent = $('.BgYellow');

$('li',bgParent).css({"background":"blue"});
于 2012-11-16T10:30:20.607 に答える
0

はい、それは可能であり、複雑ではありません。

「PozVideosクラスにBgYellowクラスがある場合、このdiv.containner(PozVideos)の各li要素にBgYellowForLiクラスを追加したい」:

$('.PozVideos.BgYellow li').addClass('BgYellowForLi');

「PozVideosクラスにBgPrupleクラスがある場合、このdiv.containner(PozVideos)の各li要素にBgPurpleForLiクラスを追加したい」:

$('.PozVideos.BgPurple li').addClass('BgPurpleForLi');
于 2012-11-16T10:29:18.403 に答える