我能够获取具有特定类名的元素,但无法检索具有该特定类名的元素数量的长度。
我应该如何获得具有子元素的特定类名的元素数量?
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;
};
答案 0 :(得分: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;
};
答案 1 :(得分:2)
我自己找到了一个简单的解决方案:
请让我知道你们的想法?
document.getElementById('contact').onsubmit = function() {
var req = this.getElementsByClassName('req').length;
console.log(req);
return false;
};
答案 2 :(得分:0)
使用children[i].value.length
获取值。
答案 3 :(得分:0)
var arr = Array.prototype.slice.call( children )
抱歉,我的意思是http://jsfiddle.net/e4CQu/15/
答案 4 :(得分:0)
DOM元素没有length
属性。如果您要尝试获取其中的字符数,则应使用length
的{{1}}属性,如下所示:value