类型错误:document.getElementsByTagName(..).className未定义
TypeError: document.getElementsByTagName(...).className is undefined
我一直在获取
类型错误:document.getElementsByTagName(…).className未定义
怎么了,我真的不明白。
function test(){
if ( document.getElementsByTagName("body").className.match(/(?:^|'s)test(?!'S)/) ){
document.getElementsByTagName("body").className += " test";
alert("test");
}
}
document.onload = test();
注意它是getElementsByTagName
,而不是getElementByTagName
——它是复数。它返回一个元素列表。
要将类添加到该列表中的第一个元素:
if ( document.getElementsByTagName("body")[0].className.match(/(?:^|'s)test(?!'S)/) ){
document.getElementsByTagName("body")[0].className += " test";
alert("test");
}
getElementsByTagName
返回指定标记的元素的数组。例如,如果页面上有100500个div
元素,则getElementsByTagName
将返回一个长度为100500的数组,并且它将包含所有div
元素。当然,array
不具有className
的性质
如果你只想选择一个特定的元素,你可以为它指定一个id
属性,并调用getElementById
,它会返回你的单个元素
在使用getElementsByTagName
的情况下,您可以尝试获取元素的数组,从中选择第一项(零索引),然后读取其"className
属性"
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- toggleClass之后,ClassName变为未定义
- 类型错误:document.getElementsByTagName(..).className未定义
- JavaScript运行时错误:无法获取property 'className'未定义或空引用的
- Element.className返回未定义