为什么:

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/

10-11 11:22