2016-12-02 3 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>