我正在尝试用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
答案 0 :(得分:1)
您不能在文档对象上设置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
);