繁体   English   中英

jQuery选择器中的通配符

[英]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>

要获得以“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> 

这将在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM