我有以下Javascript文件:
$(document).ready(function(){
$( "#registry_donations_attributes_.0-9_data_donazione" ).datepicker({ dateFormat: 'yy-mm-dd' }).val();
});我将接受所有遵循这个规则的id:
#registry_donations_attributes_0_data_donazione
#registry_donations_attributes_1_data_donazione
#registry_donations_attributes_2_data_donazione
#registry_donations_attributes_3_data_donazione
...
#registry_donations_attributes_n_data_donazione我试过"#registry_donations_attributes_.0-9_data_donazione",但它不起作用。我对jquery不太了解。谢谢。
发布于 2015-10-28 22:12:51
JQuery选择器不支持regex模式,这显然是您希望为id命名指定模式的方式。
相反,您指定的是id registry_donations_attributes_的元素,这些元素具有css类0-9_data_donazione,这在这个上下文中没有多大意义(这不应该让您感到基本,选择器的语法可能是复杂的)。
如果可能,将一个公共css类(如_data_donazione )分配给元素,并按如下方式使用选择器:$("._data_donazione")。
或者,使用属性前缀和后缀选择器的组合(不推荐;要进行艰苦的更正,无论如何必须检查id的数字部分):
$("*[id^='registry_donations_attributes_'][id$='_data_donazione]")发布于 2015-10-28 22:07:17
你为什么不使用for循环呢?
n = 10;
for (var x = 0; x < n; x++){
$( "#registry_donations_attributes_" + x + "_data_donazione").datepicker({ dateFormat: 'yy-mm-dd' }).val();
}发布于 2015-10-28 22:13:35
在一个直接的jQuery选择器中,您能做的最好的事情就是组合一开始和尾声属性选择器。
var items = $("[id^='registry_donations_attributes_'][id$='_data_donazione']");
console.log(items.toArray());<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="registry_donations_attributes_0_data_donazione"></div>
<div id="registry_donations_attributes_1_data_donazione"></div>
<div id="registry_donations_attributes_2_data_donazione"></div>
<div id="not"></div>
或者,您可以使用带有正则表达式的筛选器。
var items = $("*").filter(function() {
return this.id.match(/registry_donations_attributes_\d*_data_donazione/);
});
console.log(items.toArray());<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="registry_donations_attributes_0_data_donazione"></div>
<div id="registry_donations_attributes_1_data_donazione"></div>
<div id="registry_donations_attributes_2_data_donazione"></div>
<div id="not"></div>
https://stackoverflow.com/questions/33402369
复制相似问题