为什么:
var isError = document.getElementById('companyName-element').getElementsByTagName('ul');
console.log(isError);
在萤火虫中返回
[ul.errors]
而:
var isError = document.getElementById('companyName-element').getElementsByTagName('ul').className;
console.log(isError);
返回
'undefined'.
为什么不返回
'errors'
? 最佳答案
getElementsByTagName()
返回元素的(节点)列表(MDN docu),即使只有一个或没有匹配项。
在您的第一个代码示例中,该列表具有一个元素,即firebug向您显示的内容。
在第二个示例中,您尝试访问列表的属性className
(不是元素!),该属性不存在,因此返回undefined
。如果要访问该元素的className
,请使用以下命令:
var isError = document.getElementById('companyName-element').getElementsByTagName('ul')[0].className;
console.log(isError);
请注意,如果返回的元素不止一个,则可能需要使用循环。
关于javascript - javascript获取className,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11950412/