0

うまくいけば、簡単なものを手に入れました。これら 2 つのリスト アイテムを以下に示します。RoyalHtmlContent のフォントの色は灰色ですが、royalSlide リスト アイテム内に RoyalImage がある場合は、フォントの色を白にする必要があります。

<li class="royalSlide" style="height: 420px; width: 610px; ">
<div class="royalHtmlContent">Text</div>
</li>

<li class="royalSlide" style="height: 420px; width: 610px; ">
<img class="royalImage" src="#" width="610" height="420" style="margin-left: 0px; margin-top: 0px; ">
<div class="royalHtmlContent royalHtmlContentOverlay">Text text text</div>
</li>

私はこれを試しましたが、機能していません...すべてのroyalHtmlContentにクラス(白いフォント色のスタイルを持つ)を適用しているだけです。リスト内にも RoyalImage がある場合にのみ、これを行う必要があります。

if ($('.royalSlide').has('.royalImage')) {
    $('.royalHtmlContent').addClass('royalHtmlContentOverlay');
}

前もってありがとう、R

4

2 に答える 2

2

あなたのコードは 2 つの理由で機能しません (優先)

  • jQuery 選択は常に選択を返し、決して偽の値を返さないため、条件は常に満たされます
  • if で使用される選択は、if 内の選択とは独立しています。

画像の選択から始めます。選択が空の場合、チェーンの残りの部分は何もしません

$(".royalSlide > .royalImage").next("div.royalHtmlContent")
                              .addClass('royalHtmlContentOverlay');
于 2012-10-26T13:24:53.963 に答える
1
$('img.royalImage').next('div.royalHtmlContent').addClass('royalHtmlContentOverlay');

それもうまくいくと思いますか?基本的にすべてを検索し、そこにある場合は、css でスタイルを設定できるクラスを div に追加します。

于 2012-10-26T13:23:31.000 に答える