1

IDが重複しているHTMLを含む古いプロジェクトがあります。セレクターをIDからクラスに切り替えるには、多くの作業が必要です。特に、非表示にするdivの数がわかっているので、JQueryでそれを行うことはできますか。

<div id="d"></div>
<div id="d"></div>
<div id="d"></div>

単一のアクションを使用してそれらすべてを非表示にしたい:

$('#d').hide(); 

ただし、最初のdivのみが非表示になります。

4

4 に答える 4

3

IDは一意である必要があります。クラスを設定し、それに基づいて非表示にしてみてください。

<div class="d"></div>
<div class="d"></div>
<div class="d"></div>

$('.d').hide();
于 2012-10-29T03:13:19.720 に答える
2

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の後にワイプされるかどうかはわかりませんが、そうでない場合は、これで機能するはずです。

于 2012-10-29T03:13:31.270 に答える
1

idは要素ごとに一意である必要があるため、id属性の代わりにclassを使用します。

    <div class="d"></div>
    <div class="d"></div>
    <div class="d"></div>

それで:

   $(document).ready(function(){
            $(".d").hide();
   });
于 2012-10-29T03:18:14.937 に答える
0

親クラスまたはdivのいずれかによってこれを行うことができます

(".parent_class/id>div").hide();

また

ブランドンが言ったようにクラスを追加することによって

最も重要なことは、idMusが一意であることです

各ID属性は、ドキュメントに対して一意の値を持っている必要があります。

IDとクラスセレクターの違い

唯一の本当の違いは、それらをいつ使用すべきかということです。IDセレクターは通常、ページに1回表示されるもののために予約されています。たとえば、複数のトピック見出しのセットを含むページがあり、他のトピック見出しから目立たせたい特定のトピック見出しが1つある場合は、その特定のトピック見出しのIDセレクタールールを作成します。IDセレクターは一意の名前とIDを提供するため、セットの他の部分に影響を与えることなく、その1つのトピックの見出しを変更できます。

同じIDを複数回使用したページを検証すると、エラーが発生します

于 2012-10-29T03:18:31.540 に答える