【发布时间】:2013-02-07 15:07:37
【问题描述】:
我有以下 HTML,我无法控制:
<div id="sub-nav">
Vendita diretta
<ul class="cms-nav-sidebar">
<li class="icl-level-1"><a href="/tasting/">Degustazioni</a></li>
</ul>
</div>
我需要将“sub-nav”div 中的第一个文本位包含在 <h1> 标记中。到目前为止,我得到了这个:
$('#sub-nav').children().wrap("<h1></h1>");
但是,这会将div 中的所有元素包装在h1 标记中。如何精确定位第一个文本节点并将其包装在 h1 中?
谢谢 戴夫
【问题讨论】:
-
jquery 在处理文本节点方面并不是特别好。在 jquery 之外工作可能会更好。
-
谢谢@Blazemonger。以该线程中的最后一个示例为例,我这样使用: var myText = $('#sub-nav').contents(':not(ul)').text(); - 然后如何使用 myText 变量将该值包装在 h1 中?