【发布时间】:2021-02-09 07:35:54
【问题描述】:
您好希望有人可以帮助我: 我正在像这样在 JS 中创建元素:
let ptag = document.createElement("p");
// create textNode
let pNode = document.createTextNode("X-Done");
// append pNode to paragraph
ptag.appendChild(pNode);
console.log(ptag);
输出是:<p>X-Done</p> 这是我所期待的。
但是当我把 ptag 放到这行代码中时:
let para = document.createElement("p");
// create textNode
let myNode = document.createTextNode(i + ". " + invoer + ptag);
// append myNode to paragraph
para.appendChild(myNode);
let elem = document.getElementById('myDiv');
elem.appendChild(para);
输出是: 1. sss [object HTMLParagraphElement] 当我将它添加到屏幕上的一个 div 中时。
为什么它在一个段落中返回 [object HTMLParagraphElement] 而不是 X-done? 感谢您的澄清,这可能吗?
【问题讨论】:
-
因为您的
ptag是一个 DOM 元素。尝试改用ptag.innerHTML -
i和invoer是什么? -
很好,感谢您的回复。我正在尝试制作一个待办事项列表: i 是一个计数器,而 invoer 是来自似乎工作正常的输入字段的输入。您的帮助几乎将我带到了那里,我现在得到了输出: 1. 在 p 标签中的 Invoer X-Done。如何在自己的 p-tag 中获取 ptag?因为我想让 X-Done 可以点击,这样我就可以删除整个 p 标签。
-
很好,感谢您的回复。我正在尝试制作一个待办事项列表: i 是一个计数器,而 invoer 是来自似乎工作正常的输入字段的输入。您的帮助几乎将我带到了那里,我现在得到了输出: 1. 在 p 标签中的 Invoer X-Done。如何在自己的 p-tag 中获取 ptag?因为我想让 X-Done 可点击,所以我可以删除整个 p 标签。使 p 成为一个跨度,但它现在仍然是一个完整的 p 标签。对不起,我是 JS 的新手。 screencast.com/t/mt8O9wzVR1AG 看到这个你就明白了。谢谢
-
尝试从
document.createTextNode(i + ". " + invoer);中删除ptag。然后在para.appendChild(myNode);之后使用para.appendChild(ptag)将您的ptag添加到您的para中
标签: javascript html variables concatenation createelement