Woj*_*ech 1 javascript getattribute
嗨,我喜欢遍历所有包含活动类的“幻灯片”项目,并采用它们的“数据标题文本”属性。我究竟做错了什么?
<div class="slide active"></div>
var elems = document.getElementsByClassName('slide');
for (var i = 0, len = elems.length; i < len; i++) {
if (elems.classList.contains("active")) {
myJavascriptFunc
}
}
function myJavascriptFunc() {
alert(this.getAttribute('data-headertext'));
}
Run Code Online (Sandbox Code Playgroud)
elems在您的代码中是一个没有属性的节点列表classList。你应该访问classList里面的元素 elems
if (elems[i].classList.contains("active"))
Run Code Online (Sandbox Code Playgroud)
更简单的方法:
并且也可以使用querySelectorAll()给它多个类并使用循环来做到这一点forEach()
const elems = document.querySelectorAll('.slide.active')
elems.forEach(a => console.log(a.getAttribute('data-headertext')))
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您想要获取data属性。所以最好使用HTMLElement.dataset
`
const elems = document.querySelectorAll('.slide.active')
elems.forEach(a => console.log(a.dataset.headertext));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15133 次 |
| 最近记录: |