因此,在使用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');