所以我试图在2个html标签之间选择一些文本。它应该是非常直接的,但我似乎无法弄明白。
HTML:
<article>
width
<span class="Punctuation">:</span>
80%
<span class="Punctuation">;</span>
</article>
所以我试图选择单词Width
和值80%
并将每个单词存储在不同的元素中。
最终结果将是:
<article>
<span class="Property">width</span>
<span class="Punctuation">:</span>
<span class="Value"> 80%</span>
<span class="Punctuation">;</span>
</article>
有没有人知道如何做到这一点?
---编辑---
我已经将回复标记为正确答案,但是有什么办法可以让它变得更干净吗?
答案 0 :(得分:4)
您可以使用:
$('article').contents().filter(function() {
return this.nodeType === 3 && $.trim(this.nodeValue).length;
}).first().wrap('<span class="Property" />');
$('article').contents().filter(function() {
return this.nodeType === 3 && $.trim(this.nodeValue).length;
}).last().wrap('<span class="value" />');
<强> Fiddle Demo 强>
答案 1 :(得分:1)
使用jQuery .text() - http://api.jquery.com/text/
$('.Punctuation').text();
$('.Value').text();