我有一堆输入元素,在其ID中有一个特定的子字符串。使用javascript,有没有办法将这些元素作为数组?我不知道完整的ID - 只有子串。
如果我使用JQuery,这会更简单吗?
答案 0 :(得分:1)
非jQuery答案怎么样......嗯!?
function getAndFilter(elems, filter) {
var length = elems.length,
ret = [];
while (length--) {
if(filter(elems[length])) {
ret[ret.length] = elems[length];
}
}
return ret;
}
getAndFilter(document.getElementsByTagName('input'), function(input) {
// Your custom logic/rule goes here:
return input.id.substr(0,5) === 'HELLO';
});
答案 1 :(得分:0)
使用jQuery非常简单。例如:
$("li[id^='comment']")
选择所有“li”,其中id以“comment”开头。
修改强>
将它们放入数组:
var myArray = new Array;
$("li[id^='comment']").each(function() {
var thisId = $(this).attr("id");
myArray.push(thisId);
});
答案 2 :(得分:0)
如果使用jquery则更简单,否则你将不得不从文档正文开始,获取它的子节点,解析它们的id,选择匹配的元素,然后继续在树下。
答案 3 :(得分:0)
jquery绝对是一个很好的方式。
处的属性过滤器答案 4 :(得分:0)
document.querySelectorAll("input[id*='yoursubstring']")
适用于IE8 +,WebKit(谷歌浏览器,Safari),似乎可以在下一个Opera和FF中使用。