使用Javascript获取元素

时间:2009-02-12 22:50:44

标签: javascript jquery

我有一堆输入元素,在其ID中有一个特定的子字符串。使用javascript,有没有办法将这些元素作为数组?我不知道完整的ID - 只有子串。

如果我使用JQuery,这会更简单吗?

5 个答案:

答案 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绝对是一个很好的方式。

查看jquery.com

处的属性过滤器

答案 4 :(得分:0)

Selectors API运行。

document.querySelectorAll("input[id*='yoursubstring']")

适用于IE8 +,WebKit(谷歌浏览器,Safari),似乎可以在下一个Opera和FF中使用。