javascript - HTML 中 document.getElementsByName 中的 for 循环

标签 javascript jquery html xml xslt

我正在尝试使用以下 Javascript 代码通过 elementName 访问每个节点:

function myFunction() {
  var h1 = document.getElementsByName("demoNode");
  for (var i = 0; i < h1.length; i++) {
    if (h1[i].name == "demoNode") {
      var att = h1[i].createAttribute("class");
      att.value = "democlass";
      h1[i].setAttributeNode(att);
    }
  }
}
.democlass {
  color: red;
}
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>

<p>Click the button to create a "class" attribute with the value "democlass" and insert it to the H1 element above.</p>

<button onclick="myFunction()">Try it</button>

代码应将标题文本着色为红色。但它似乎不适合我。你能告诉我为什么吗?这是来自 jsfiddle 的演示链接

最佳答案

  • 要获取名称的属性值,请使用 h1[i].getAttribute("name")
  • 要设置属性类,使用h1[i].setAttribute("class","democlass")

此外,您不需要 if 条件,因为您获取的元素已经在使用名称。

function myFunction() {
  var h1 = document.getElementsByName("demoNode");
  for (var i = 0; i < h1.length; i++) {
     h1[i].setAttribute("class", "democlass");
  }
}
.democlass {
  color: red;
}
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>
<h1 name="demoNode">Hello World</h1>

<p>Click the button to create a "class" attribute with the value "democlass" and insert it to the H1 element above.</p>

<button onclick="myFunction()">Try it</button>

关于javascript - HTML 中 document.getElementsByName 中的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49068416/

相关文章:

javascript - 为 d3 colorScale 添加不透明度

javascript - 使用无限滚动动态加载对齐的图库图像

html - 防止 Chrome 在显示文本搜索结果时移动 DOM 元素

php - 内联 css 背景图像中的 echo php 删除 url 中的 '/'

javascript - 捕获后退按钮(保留一个历史记录条目,没有可见的主题标签)

javascript - JavaScript 中异步执行一些方法的顺序

javascript - 如何比较两个foreach循环数据

javascript - Webpack jQuery 和 jQuery.lazy() TypeError : q is undefined

javascript - 从 json 响应动态创建模态

javascript - LINK 元素是否同步加载?