在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"]')
为了安全起见,尽可能使用双引号。