在jQueryselect器中的通配符

我试图使用通配符来获得所有id的开头是“jander”的元素。 我试过$('#jander*')$('#jander%')但它不起作用。

我知道我可以使用类的元素来解决它,但它也有可能使用通配符?

 <script type="text/javascript"> var prueba = []; $('#jander').each(function () { prueba.push($(this).attr('id')); }); alert(prueba); }); </script> <div id="jander1"></div> <div id="jander2"></div> 

要获得以“jander”开头的所有元素,您应该使用:

 $("[id^=jander]") 

为了让那些以“jander”

 $("[id$=jander]") 

另请参阅JQuery文档

由于标题暗示通配符,你也可以使用这个:

 $(document).ready(function(){ console.log($('[id*=ander]')); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="jander1"></div> <div id="jander2"></div> 

尝试jQuery的开始

select器,'^ =',例如

 [id^="jander"] 

我不得不问,你为什么不想用类来做这个?

你可以使用的课程:

 div[class^="jander"] 

从通配符匹配中获取id

 $('[id^=pick_]').click( function(event) { // Do something with the id # here: alert('Picked: '+ event.target.id.slice(5)); } ); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="pick_1">moo1</div> <div id="pick_2">moo2</div> <div id="pick_3">moo3</div> 

当你有一个更复杂的IDstring双引号是强制性的。

例如,如果你有一个这样的id: id="2.2" ,正确的方法是: $('input[id="2.2"]')

为了安全起见,尽可能使用双引号。