2016-12-02 6 views
1

私のDOM私は動的にダイアログを生成するテーブルを持っています。 DOMでのダイアログはIDのこのフォームを持つことになります。セレクタのjQueryワイルドカード

  • id="page:form:0:dlg"
  • id="page:form:1:dlg"
  • id="page:form:2:dlg"

今、私はjqueryのを使用してダイアログを選択します:

$("#page\\:form\\:0\\:dlg")

これはもちろんo nlyは最初のもののために働く。セレクタでワイルドカードを何とか指定できますか? $("#page\\:form\\:*\\:dlg")

おかげ

+0

が問題解決、あるいはまだ開いていますか? –

+1

FYI、これらの生成されたダイアログのコントロールがあれば、共通のクラス名 'class =" dlg "'を追加してから、 '$( '.dlg')'だけを使うことができます。 – jfriend00

答えて

3

すべてが同じパターンに従っているので、あなたが^セレクター使用することができます。また

$('[id^="page\:form"]') 

を、ダブル\\を使用しないでください。不思議なことに、\の有無にかかわらず動作します。

スニペット

$(function() { 
 
    $('[id^="page\:form"]').css({ 
 
    "background": "red", 
 
    "color": "white" 
 
    }); 
 
});
div {padding: 15px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="page:form:0:dlg">Should turn red</div> 
 
<div id="something:0">Should not turn red</div> 
 
<div id="page:form:1:dlg">Should turn red</div> 
 
<div id="something:1">Should not turn red</div> 
 
<div id="page:form:2:dlg">Should turn red</div>