1

ネストされた html が与えられた場合:

<a class="star">Hello world!
 <a class="ui-icon-star"> hello </a>
</a>

次のJSを使用しました。

$('.star').click(function () {
    $(this).toggleClass("favorited");
    $(this > '.ui-icon-star').toggleClass("ui-icon-starred");
});

.star と子の .ui-icon-star 要素の両方を変更しますが、子では機能しません。[セレクター(?)] の間違いはどこにありますか? $(this > '.ui-icon-star') あたりだと思います。

1: http://jsfiddle.net/tNwND/1/ 2: http://www.w3.org/TR/CSS21/selector.html

4

1 に答える 1

6

これは、マークアップが無効であるためです。ブラウザはマークアップを次のようにレンダリングします。

<a class="star">Hello world! </a>
<a class="ui-icon-star"> hello </a>

.ui-icon-starしたがって、クリックされた要素には子要素がありません。

于 2013-02-13T22:05:09.370 に答える