【发布时间】:2013-08-09 11:38:46
【问题描述】:
给定一些文本和一个 html 结构,我如何创建一个新的 html 片段,其中结构包裹在文本周围?
例子:
text = "mytext"
html = "<div><p><span></span></p></div>"
想要的结果:
newHtml = "<div><p><span>mytext</span></p></div>"
如果可能,使用纯 jquery,无需手动解析 html。请注意,“文本”是文字字符串,而不是文档中的文本节点。
当然,我要查找的代码应该适用于任意 html,而不仅仅是上面的示例。
【问题讨论】:
-
类似
$("<div><p><span></span></p></div>").find('*').last().text('foo')? -
@Blender:是的,类似这样的……有更简单的解决方案吗?
-
更简单?没有
.insertTextIntoDeepestDescendant()方法... -
我认为@Blender 的方法非常简单。您可以将
*和last组合在一起,但本质上是相同的:jsfiddle.net/MnJkE/4 -
你总是要在 span 元素之间插入文本吗?