我试图使用通配符来获得其id以“jander”开始的所有元素的id。我试着(#詹德*)美元,美元(“#詹德%”),但它不工作。

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

<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文档


试试jQuery started -with

选择器,'^=',例如

[id^="jander"]

我要问,为什么不用类来做呢?


对于类,您可以使用:

div[class^="jander"]

因为标题建议通配符,你也可以使用这个:

$(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中任意位置选择给定的字符串。


从通配符匹配中获取id:

$('[id^=pick_]').click( 函数(事件) { 在此处对 id # 执行某些操作: 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"]')

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