Javascript set Attribute

Javascript set Attribute

本文关键字:Attribute set Javascript      更新时间:2023-09-26

我有一个问题。我想用JS设置一些属性。

for(i=0;i<div_navi.childNodes.length;i++){                      
    if(div_navi.childNodes[i].nodeName =="SPAN"){
        div_navi.childNodes[i].setAttribute("onclick","getContent(div_navi.childNodes[i].textContent); 
        div_navi.childNodes[i].style.cursor ="pointer";
    }
    if(div_navi.childNodes[i].nodeName =="A")
        div_navi.childNodes[i].setAttribute("href",div_navi.childNodes[i].textContent);
    }
}

我想在getContent中设置一个参数,但它不起作用。有人知道这是怎么回事吗?

正确使用引号,你应该正确绑定事件,你可以直接设置href属性。

div_navi.childNodes[i].onclick = function(){
    getContent(this.textContent)
};
div_navi.childNodes[i].href = div_navi.childNodes[i].textContent;

您不使用setAttribute设置事件,您将为onclick (div_navi.childNodes[i].onclick = [function])属性分配函数,或者更好:

div_navi.childNodes[i].addEventListener('click', getContent);
function getContent(e) {
   console.log(e.target.textContent);
}