我是JavaScript begginer,可以使用您的帮助进行以下查询:
我必须在html中找到所有li放在nav标签中。现在我必须检查li是否具有数据方向属性,如果没有,则将此属性设置为“top”。我尝试使用简单的循环来做它,但它似乎没有工作 - 我一直从控制台获取信息“方向未定义”所以它似乎没有看到“数据方向”作为属性。也许我应该以不同方式指出这个属性这是我的代码:
var navLi = document.querySelectorAll("nav li");
for (i = 0; i < navLi.length; i++) {
if (navLi[i].data-direction === " ") {
navLi[i].data-direction = "top";
}
}
提前致谢!
答案 0 :(得分:2)
您正在寻找hasAttribute()
/ setAttribute()
。
for (i = 0; i < navLi.length; i++) {
if ( !navLi[i].hasAttribute('data-direction') ) {
navLi[i].setAttribute('data-direction', 'top')
}
}
答案 1 :(得分:0)
getAttribute()将返回null或空字符串,因此您需要使用hasAttribute()方法来处理null case。
var operation_type = function (ops){
return window[ops];
}
var ops = operation_type(ops);
console.log(ops(x));