JavaScript:在 textNode 中添加元素
我想向文本节点添加一个元素。例如:我有一个在元素的 textNode 中搜索字符串的函数。当我找到它时,我想用 HTML 元素替换它。有一些标准吗? 谢谢。
I want to add an element to a textNode. For example: I have a function that search for a string within element's textNode. When I find it, I want to replace with a HTML element. Is there some standard for that?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能只替换字符串,您必须替换整个 TextNode 元素,因为 TextNode 元素不能包含 DOM 中的子元素。
因此,当您找到文本节点时,生成替换元素,然后使用类似于以下的功能替换文本节点:
对于您想要执行的操作,您必须将当前的文本节点分解为两个新的文本节点,然后一个新的 HTML 元素。这里有一些示例代码,希望能为您指明正确的方向:
也许 jQuery 会让这变得更容易,但最好理解为什么所有这些东西都这样工作。
You can't just replace the string, you'll have to replace the entire TextNode element, since TextNode elements can't contain child elements in the DOM.
So, when you find your text node, generate your replacement element, then replace the text node with a function similar to:
For what it appears you want to do, you will have to break apart the current Text Node into two new Text Nodes and a new HTML element. Here's some sample code to point you hopefully in the right direction:
Maybe jQuery would have made this easier, but it's good to understand why all of this stuff works the way it does.