要素にその属性がない場合、その属性を要素に追加するにはどうすればよいですか?まだ属性がない場合は、属性を追加してください
if (' this does not have class=selected') {
$(this).addClass('selected');
}
要素にその属性がない場合、その属性を要素に追加するにはどうすればよいですか?まだ属性がない場合は、属性を追加してください
if (' this does not have class=selected') {
$(this).addClass('selected');
}
を探しています:) http://api.jquery.com/category/css/
。すでに存在する場合は、2回追加されません。
$(this).addClass('selected'); // will only add the class if it doesn't exist
私はクラスの最初のテストがこれ以上効率的ではないかと疑います。
if(!$(this).attr('name')) {
$(this).attr('name', 'value');
}
それはそれを行うべきです。
私はちょうど私が欲しいものですが、これを試してみましたが、(!$(this).attr( 'placeholder')){ $(this).attr( 'placeholder'、 'c' ); } –
jQueryのドキュメントはあなたの友人です!あなたは、おそらくあなたは、クラスについて、具体的話をしている場合は、単に先に行くと、それを追加しHasClass
http://api.jquery.com/hasClass/
$('#mydiv').hasClass('foo')
あなたは属性ではないセレクタを使用することができます。前に述べたように、あなたはそれを追加し、反対クラスあなたのチェックを追加したい場合、これは、クラスのためではなく、もちろん
if($('#elemid[class!="myclass"]').length) {
$('#elemid').addClass('otherClass');
}
あらゆる属性のためだけではなく機能します。それに害はありません。
クラスを追加する前にクラスが既に存在するかどうかを確認する必要はありません。 jQueryソース(https://github.com/jquery/jquery/blob/master/src/attributes.js、addClass
を検索)を調べると、クラスがすでに存在する場合、addClass
は何も行いません。したがって、最初にチェックする必要はありません。
クラスを具体的に意味するのか、それとも属性ですか? .addClass()を何度でも呼び出すことができるからです。 – n8wrl
それは重複を追加しませんか? – David542
重複していても問題ありません。要素がクラスを持っているかそうでない要素があります。 JavascrciptとDOMの観点から同じクラスが複数回ある場合は、クラスがあります。 –