0

たくさんのスパンがあり、それぞれをクリックすると、この要素はたとえばid="active"になります。しかし、前の要素からid = "active"を削除するにはどうすればよいですか?

$('#active').attr("id",'');  
$(this).attr("id","active");

私はこれを使用します、これは有効ですか?このコードの後、アクティブな要素であったが現在はアクティブではない要素にはidがありますが、次のようになります。

<span class="bunch_of_spans" id> // not active anymore (but can be active if i pick it)
<span class="bunch_of_spans" id="active"> // active now
<span class="bunch_of_spans"> // never was active

これは有効ですか?アクティブでない要素からIDを削除する方法があるかもしれませんか?ありがとう

4

2 に答える 2

4

removeAttrを使用します

$('#active').removeAttr("id");  

実例: http:
//jsfiddle.net/nWtYc/

これは機能しますが、アクティブな要素を識別するために他の一意でない識別子を使用することをお勧めします。クラスはこれに適しています。

于 2012-11-13T08:45:48.157 に答える
2

特定の質問に答えるには、次を使用します。

$('#active').removeAttr("id");

ただし、意味的には、IDは決して変更されないため、代わりに次のようなクラスを使用することをお勧めします。

<span class="bunch_of_spans active">

次のようにクラスを追加/削除します。

$('#active').addClass("active");
$('#active').removeClass("active");
于 2012-11-13T08:46:15.743 に答える