我有以下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。谢谢。
答案 0 :(得分:0)
为什么不使用for循环?...
public class FlywayIntegrator implements Integrator {
@Override
public void integrate(Configuration c, SessionFactoryImplementor sfi,
SessionFactoryServiceRegistry sfsr) {
sfi.addObserver( new SessionFactoryObserver() {
@Override
public void sessionFactoryCreated(SessionFactory factory) {
//now, after schema-export, flyway migration...
}
@Override
public void sessionFactoryClosed(SessionFactory factory) {
}
} );
}
//... other methods
}
答案 1 :(得分:0)
JQuery选择器不支持正则表达式模式,这显然是您想要为id命名指定模式的方式。
您指定的内容是ID为registry_donations_attributes_
且具有css类0-9_data_donazione
的元素,这在此上下文中没有多大意义(这不应该让您感觉到bas,selector语法可能很复杂。)
如果可能,请为元素分配一个公共css类(如_data_donazione
)并使用选择器,如下所示:$("._data_donazione")
。
或者,使用属性前缀和后缀选择器的组合(不推荐;要刻意纠正你,无论如何都必须检查id的数字部分):
$("*[id^='registry_donations_attributes_'][id$='_data_donazione]")
答案 2 :(得分:0)
您可以在直接jQuery选择器中做的最好的事情是合并starts with和ends with属性选择器。
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>
&#13;
或者,您可以使用带有正则表达式的过滤器
var items = $("*").filter(function() {
return this.id.match(/registry_donations_attributes_\d*_data_donazione/);
});
console.log(items.toArray());
&#13;
<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>
&#13;