我是JavaScript的初学者,可以在下面的查询中使用您的帮助:

我必须找到所有放在html的nav标签中的li。现在,我必须检查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";
      }
   }


提前致谢!

最佳答案

您正在寻找hasAttribute() / setAttribute()

for (i = 0; i < navLi.length; i++) {
   if ( !navLi[i].hasAttribute('data-direction') ) {
     navLi[i].setAttribute('data-direction', 'top')
  }
}

09-16 19:45