1

クラス名が「p」で始まり、その後に任意の文字が続くdiv内のすべての要素を非表示にします。

<div id="myDiv">

   <div id="p0"> .... </div>
   <div id="p1"> ..... </div>

   <div id="abc"> .... </div>

</div>

したがって、「p0」と「p1」のdivを非表示にし、「abc」のdivを残します。

私は次のコードを試しています

$('#myDiv').find('#p*').hide();

しかし、明らかにこれは間違っています。jQueryセレクターでワイルドカードを使用する方法を教えてください。

さらにコードが必要な場合はお知らせください。

4

2 に答える 2

6

属性を使用できます-starts-withselector

$('div[id^="p"]').hide();

例はこちら

于 2012-05-11T14:32:28.890 に答える
3

@EmreErkanは実用的なソリューションを投稿しました。ただし、より適切な方法は、共通のクラスまたはデータ属性をDIVに追加して、それらをより適切に選択できるようにすることです。

例えば...

<div id="p0" class="HideMe" data-noshow="true"> .... </div>
<div id="p1" class="HideMe" data-noshow="true"> ..... </div>

そして、あなたはそのようにそれらを隠すことができます:

$(".HideMe").hide();

また

$("div[data-noshow='true']").hide();
于 2012-05-11T14:34:50.083 に答える