在标签之间选择纯文本

时间:2014-05-01 13:59:42

标签: jquery html

所以我试图在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>

有没有人知道如何做到这一点?


---编辑---

我已经将回复标记为正确答案,但是有什么办法可以让它变得更干净吗?

2 个答案:

答案 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();