想要使用jQuery来:
.
,
;
:
'
"
“
”
‘
’
等),然后是span
中。 因此:
<div id="mydiv">
Lorem ipsum
<a href="#">dolor sit amet</a>,
consectetur
“<a href="#">adipisicing elit</a>”.
</div>
成为这样:
<div id="mydiv">
Lorem ipsum
<a href="#">dolor sit amet</a><span>,</span>
consectetur
<span>“</span><a href="#">adipisicing elit</a><span>”.</span>
</div>
(顺便说一句,
&ldquo
和”
是引号。)div
中的内容不固定。在某些情况下,链接附近可能还有多个标点符号(如上所示,”.
变为<span>”.</span>
)非常感谢任何帮助!
在选择文本节点方面,是否与这个问题类似(但不太完全)? Using jQuery, how to modify text outside of tags?
最佳答案
这似乎可行:
试用: http://jsfiddle.net/GutKg/1/
var $div = $('#mydiv');
var html = $div.html();
html = html.replace(/([^\s\w]+)<a/g, '<span>$1</span><a')
.replace(/<\/a>([^\s\w]+)/g, '</a><span>$1</span>');
$div.html( html );
编辑:已更新,以排除标签旁边的字母数字字符。