如何使用Javascript

时间:2018-06-27 11:36:30

标签: javascript

我正在尝试用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 个答案:

答案 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
);