我有一个单击元素时调用的函数.
function showHide(elem){
var clickedText = elem.getElementsByTagName("p");
clickedText.style.color = "green";
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到了一个Uncaught TypeError: Cannot set property 'color' of undefined.但是,如果我这样做console.log(clickedText),请记录相应的
标签.不能为我的生活弄清楚为什么这不起作用,我错过了一些完全明显的东西吗?
该getElementsByTagName方法返回一个元素集合(在a中NodeList,就像一个数组).
您需要指定一个索引.例如:
clickedText[0].style.color = "green";
Run Code Online (Sandbox Code Playgroud)
目前,您正在尝试访问自身的style属性NodeList,而不是其中包含的元素.
getElementsByTagName 返回元素列表,因此您需要遍历结果:
var clickedTexts = elem.getElementsByTagName("p");
for (var i = 0; i < clickedTexts.length; i++) {
clickedTexts[i].style.color = "green";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |