[英]Wildcards in jQuery selectors
我正在尝试使用通配符来获取id以“jander”开头的所有元素的id。 我试过$('#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>
由于标题建议使用通配符,您也可以使用:
$(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>
这将在id
任何位置选择给定的字符串。
尝试使用jQuery启动
选择器,'^ =',例如
[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>
当您有一个更复杂的id字符串时,双引号是必需的。
例如,如果你有这样的id: id="2.2"
,访问它的正确方法是: $('input[id="2.2"]')
出于安全原因,尽可能使用双引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.