协慌网

登录 贡献 社区

jQuery 选择器中的通配符

我正在尝试使用通配符来获取 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>

答案

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

$("[id^=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>

id任何位置选择给定的字符串。

尝试 jQuery starts-with

选择器 '^ =',例如

[id^="jander"]

我不得不问,为什么不使用类呢?