我对JQuery几乎一无所知,并且在Stackoverflow上找到了我的大部分解决方案,所以我希望我的答案(可能是noob以及首次“so.com”)问题。我正在尝试将jquery脚本应用于未知数量的编号ID。我可以引用从id-1到id-1000的每个ID,并希望我永远不需要更多,或者我可以以某种方式引用id-n,在这种情况下,它将适用于最后带有数字的任何ID。
这是我的代码:
drupal_add_js('jQuery(document).ready(function (){jQuery("#pika-[any integer]").PikaCho...
哪个应该影响:
<ul id="pika-1"> or <ul id="pika-329"> or <ul id="pika-[any integer]">
我将如何完成这项工作?
(为清楚起见,这是在Drupal template.php文件中,以影响pikachoose图库显示。不是我认为这会产生影响。)
答案 0 :(得分:3)
$('ul[id^="pika-"]')
将选择ID为“pika - ”
http://api.jquery.com/category/selectors/attribute-selectors/
答案 1 :(得分:2)
还想指出这是JS不需要jQuery开销的一行。
document.querySelectorAll("ul[id^=pika-]");
解决一些边缘案例的解决方案。
<强> live demo 强>
var elements = [];
[].forEach.call(
document.querySelectorAll("ul[id^=pika-]"),
function(el){
var check = /[0-9]$/;
if(el.id.match(check)){
elements.push(el);
}
}
);
还编辑了Jay Blanchard的js perf,并使用ul
标识符添加了qsa,qsa优于jQuery(惊喜)
答案 2 :(得分:1)
jQuery('ul').filter('[id^=”pika-”]')
答案 3 :(得分:0)
请使用:
jQuery("[id^=pika]").pikaCho
所以每个以“pika”开头的id都会受到影响。