将属性添加到元素Javascript

时间:2016-10-22 19:00:29

标签: javascript attributes selectors-api

我是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";
      }
   }

提前致谢!

2 个答案:

答案 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));
相关问题