0

要素の親にクラスを追加したい。

domの構造は次のとおりです。

<ul class="companies">
<li>
<a id=""></a>
<a id=""></a>
</li>
<li>
<a id=""></a>
<a id=""></a>
</li>
</ul>

「a」要素のIDはすべて自動です。

選択した「a」の親「li」にクラスを追加したい。

これが私のコードです:

$(".companies li a:selected").parent("li").addClass('selected');
selectDealer($(".companies li a:selected").attr("id"));

しかし、1つの要素「a」をクリックすると、その親「li」は選択されません。

誰かが理由を知っていますか?

ありがとう

4

3 に答える 3

2

私はあなたが求めているのはここのハンドラーだと思います:click

$(".companies li a").click(function() {
  $(this).parent("li").addClass('selected');
  selectDealer(this.id);
});

:selectedたとえばの要素selectedのような<option>要素<select>用です。のようなイベントで何かを発生させたい場合は、click上記のようなイベントハンドラーを使用してください。ハンドラー内でthis、イベントが発生している要素を参照します。

上記は説明のためのものであり、より効率的なバージョンは次の.delegate()ように使用します。

$(".companies").delegate("li a", "click", function() {
  $(this).parent("li").addClass('selected');
  selectDealer(this.id);
});
于 2010-12-23T15:12:57.697 に答える
1

リンクを「:selected」にすることはできません。これはオプション要素にのみ適用されます。したがって、最初のセレクターは失敗します。

于 2010-12-23T15:14:47.487 に答える
0

a:selectedはそのように使用できますか?テストせずに、それはエラーだと思います

于 2010-12-23T15:12:30.343 に答える