0

我能够获取具有特定类名的元素,但无法检索具有该特定类名的元素数量的长度。

我应该如何获取具有子元素特定类名的元素数量?

jsFiddle

document.getElementById('contact').onsubmit = function() {
    var children = this.children;

    for(var i = 0; i < children.length; i++) {
        if (children[i].className == 'req') {

            console.log(children[i]); //defined
            console.log(children[i].length); //undefined

        }
    }

    return false;
};
4

5 回答 5

2

我自己找到了一个简单的解决方案:

请让我知道你们的想法?

jsFiddle

document.getElementById('contact').onsubmit = function() {
    var req = this.getElementsByClassName('req').length;
    console.log(req);
    return false;
};
于 2013-08-08T17:55:52.160 回答
2

我认为您想计算该类的子元素数量:

document.getElementById('contact').onsubmit = function() {
    var children = this.children;
    var count = 0;
    for(var i = 0; i < children.length; i++)
        if (children[i].classList.contains('req'))
            count++;
    console.log(count+" of "+children.length+" have the class 'req'");
    return false;
};
于 2013-08-08T17:48:34.970 回答
0

用于children[i].value.length获取值。

jsFiddle

于 2013-08-08T17:48:22.270 回答
0
var arr = Array.prototype.slice.call( children )

对不起,我的意思是http://jsfiddle.net/e4CQu/15/

于 2013-08-08T17:51:57.113 回答
0

DOM 元素没有length属性。如果您试图获取其中有多少个字符,则应该使用 的length属性value,如下所示:children[i].value.length

于 2013-08-08T17:54:08.070 回答