0

我有以下 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?

谢谢戴夫

4

2 回答 2

1

Working off of the link in Blazemonger's comment...

$('#sub-nav').contents(':not(ul)').wrap("<h1></h1>");

...ought to work in your case.

于 2013-02-07T15:34:12.280 回答
0
$('#sub-nav').contents().filter(function(){
    return this.nodeType === 3; //text node type
}).eq(0).wrap("<h1></h1>");
于 2014-11-11T09:40:05.900 回答