我正在尝试使用通配符来获取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>
答案 0 :(得分:1174)
要获得以“jander”开头的所有元素,您应该使用:
$("[id^=jander]")
以“jander”结束那些结束
$("[id$=jander]")
答案 1 :(得分:111)
由于标题建议使用通配符,您也可以使用:
$(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
。
答案 2 :(得分:36)
尝试使用jQuery启动 -
选择器,'^ =',例如
[id^="jander"]
我不得不问,你为什么不想用类做这个呢?
答案 3 :(得分:34)
您可以使用的课程:
div[class^="jander"]
答案 4 :(得分:13)
从通配符匹配获取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>
答案 5 :(得分:10)
当你有一个更复杂的id字符串时,双引号是必需的。
例如,如果你有这样的ID:id="2.2"
,访问它的正确方法是:$('input[id="2.2"]')
出于安全原因,尽可能使用双引号。