代码之家  ›  专栏  ›  技术社区  ›  firstpostcommenter

如何在javascript中硬编码文档节点值

  •  0
  • firstpostcommenter  · 技术社区  · 6 年前

    我试图用JavaScript代码对文档节点值进行硬编码,但我得到了异常。

    我有下面的javascript代码。queryselector返回无序列表

    var documentNode = document.querySelector('#subordinate').firstElementChild.nextElementSibling;
    documentNode.setAttribute('id','document');
    

    我想为开发目的硬编码documentnode变量值。我尝试如下:

    var documentNode = new DOMParser().parseFromString("<ul><li class=\"active js-active\"><a href=\"https://website.com/Home\" class=\"active\">Home</a></li><li><a href=\"https://website.com/page2\">Page2</a></li></ul>", 'text/html');
    documentNode.setAttribute('id','document'); //Exception occurs here
    

    然后我在 setAttribute() 代码

    documentNode.setAttribute is not a function
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   mplungjan Gvidas    6 年前

    不能在文档对象上设置ID。您可以将其设置为内容:

    var documentNode = new DOMParser().parseFromString("<ul><li class=\"active js-active\"><a href=\"https://website.com/Home\" class=\"active\">Home</a></li><li><a href=\"https://website.com/page2\">Page2</a></li></ul>", 'text/html');
    
    var ul = documentNode.getElementsByTagName("ul")[0];
    ul.setAttribute('id', 'subordinate'); // setting the ID
    
    console.log(
      documentNode.querySelector('#subordinate')
        .firstElementChild.nextElementSibling.querySelector("a").href
    );