向元素添加属性 Javascript
Adding attribute to an element Javascript
我是 JavaScript 初学者,可以在以下查询中使用您的帮助:
我必须找到 html 中导航标签中的所有 li。现在我必须检查 li 是否具有数据方向属性,如果没有 - 将此属性设置为 "top"。我尝试使用简单的循环来完成它,但它似乎没有用 - 我一直从控制台获取 "direction is not defined" 的信息,所以它似乎没有将 "data-direction" 视为属性。也许我应该以不同的方式指出这个属性?这是我的代码:
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')
}
}
getAttribute() 将 return null 或空字符串,因此您需要使用 hasAttribute() 方法来处理 null 情况。
for (var item of document.querySelectorAll("nav li")) {
if (!item.hasAttribute("data-direction") || item.getAttribute("data-direction").trim() === "") {
item.setAttribute("data-direction", "top");
}
}
我是 JavaScript 初学者,可以在以下查询中使用您的帮助:
我必须找到 html 中导航标签中的所有 li。现在我必须检查 li 是否具有数据方向属性,如果没有 - 将此属性设置为 "top"。我尝试使用简单的循环来完成它,但它似乎没有用 - 我一直从控制台获取 "direction is not defined" 的信息,所以它似乎没有将 "data-direction" 视为属性。也许我应该以不同的方式指出这个属性?这是我的代码:
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')
}
}
getAttribute() 将 return null 或空字符串,因此您需要使用 hasAttribute() 方法来处理 null 情况。
for (var item of document.querySelectorAll("nav li")) {
if (!item.hasAttribute("data-direction") || item.getAttribute("data-direction").trim() === "") {
item.setAttribute("data-direction", "top");
}
}