我想通过函数调用它们来获取3个链接的列表 一切顺利,直到(javascript)代码的最后一部分。当它执行该代码时,它表示“未定义”' 3次..
为什么不只显示3个名字?
HTML
<h3>
<a id="126" class="6.3 linksh3 filmnaam" href="#">Name1</a></h3>
<h3>
<a id="100" class="7.4 linksh3 filmnaam" href="#">Name2</a></h3>
<h3>
<a id="101" class="6.4 linksh3 filmnaam" href="#">Name3</a></h3>
的Javascript
for (v = 0; v < classname.length; v++) { //classname = ["6.3", "6.4", "7.4"]
titels.push(document.getElementsByClassName(classname[v]).innerHTML);
console.log(titels[v]);
}
(没有jQuery)
提前谢谢
答案 0 :(得分:0)
这将返回匹配元素的HTMLCollection。
document.getElementsByClassName(classname[v])
试试这个:
for (v = 0; v < classname.length; v++) { //classname = ["6.3", "6.4", "7.4"]
titels.push(document.getElementsByClassName(classname[v])[0].innerHTML);
console.log(titels[v]);
}
答案 1 :(得分:0)
.getElementsByClassName()
返回一个元素数组,而不是单个元素,因此您尝试在数组对象上调用.innerHTML
,而不是HTMLElement。
titels.push(document.getElementsByClassName(classname[v])[0].innerHTML);
将访问该数组的第一个元素的.innerHTML
。
答案 2 :(得分:-1)
getElementsByClassName()返回一个数组,你需要在getElementsByClassName()之后添加[0]这样
getElementByClassName()[0] .innerHTML