IDが重複しているHTMLを含む古いプロジェクトがあります。セレクターをIDからクラスに切り替えるには、多くの作業が必要です。特に、非表示にするdivの数がわかっているので、JQueryでそれを行うことはできますか。
<div id="d"></div>
<div id="d"></div>
<div id="d"></div>
単一のアクションを使用してそれらすべてを非表示にしたい:
$('#d').hide();
ただし、最初のdivのみが非表示になります。
IDが重複しているHTMLを含む古いプロジェクトがあります。セレクターをIDからクラスに切り替えるには、多くの作業が必要です。特に、非表示にするdivの数がわかっているので、JQueryでそれを行うことはできますか。
<div id="d"></div>
<div id="d"></div>
<div id="d"></div>
単一のアクションを使用してそれらすべてを非表示にしたい:
$('#d').hide();
ただし、最初のdivのみが非表示になります。
IDは一意である必要があります。クラスを設定し、それに基づいて非表示にしてみてください。
<div class="d"></div>
<div class="d"></div>
<div class="d"></div>
$('.d').hide();
idで非表示にしましたが、一意でないIDがあるため機能しません。それらまたはクラスにdata-*属性をフラグとして追加します。
<div data-someattributename="flag" id="d">
$('div[data-someattributename]').hide();
編集のため:
$.each($('div'), function() {
If ($(this).attr('id')=="d") {
$(this).hide();
}
});
IDが重複しているため、最初のIDの後にワイプされるかどうかはわかりませんが、そうでない場合は、これで機能するはずです。
idは要素ごとに一意である必要があるため、id属性の代わりにclassを使用します。
<div class="d"></div>
<div class="d"></div>
<div class="d"></div>
それで:
$(document).ready(function(){
$(".d").hide();
});
親クラスまたはdivのいずれかによってこれを行うことができます
(".parent_class/id>div").hide();
また
ブランドンが言ったようにクラスを追加することによって
最も重要なことは、idMusが一意であることです
各ID属性は、ドキュメントに対して一意の値を持っている必要があります。
IDとクラスセレクターの違い
唯一の本当の違いは、それらをいつ使用すべきかということです。IDセレクターは通常、ページに1回表示されるもののために予約されています。たとえば、複数のトピック見出しのセットを含むページがあり、他のトピック見出しから目立たせたい特定のトピック見出しが1つある場合は、その特定のトピック見出しのIDセレクタールールを作成します。IDセレクターは一意の名前とIDを提供するため、セットの他の部分に影響を与えることなく、その1つのトピックの見出しを変更できます。
同じIDを複数回使用したページを検証すると、エラーが発生します