因此,在使用dom时,我遇到了一种情况,即我假设document.createTextNode()产生的对象将与document.createElement();产生的对象以类似的方式处理,因为我可以在上面调用setAttribute()

例:

var genericElementNode = document.createElement('p');
genericElementNode.setAttribute('id', 'sampleId1');
// The above will run fine


var textNode = document.createTextNode("Hello World");
textNode.setAttribute('id', 'sampleId2');
//The above will result in an error:
//Uncaught TypeError: textNode.setAttribute is not a function

为什么会这样呢?有没有解决方法?

最佳答案

您无法设置/获取textNode的任何属性/元素



很容易说在里面创建元素,例如span并设置您的文本

var genericElementNode = document.createElement('p');
genericElementNode.setAttribute('id', 'sampleId1');
// The above will run fine


var textNode = document.createElement("span");
textNode.innerText = "Hello World";
textNode.setAttribute('id', 'sampleId2');

09-20 12:54