javascript - 替换文本但不改变p标签内的图像

Tom*_*Tom 4 javascript jquery replace

我有以下HTML.

<p><img src="myimage.jpg" />This is my text</p>
Run Code Online (Sandbox Code Playgroud)

以下javascript用非破坏空格替换空格.这样可以正常工作,除了它删除图像的事实.

$("div.myDiv p").each( function() {
    $(this).text( $(this).text().replace(/ /g, '\xA0'));
});
Run Code Online (Sandbox Code Playgroud)

任何想法如何我可以替换文本中的空格而不是改变图像.

jAn*_*ndy 8

您需要检查nodeType并仅替换此值:

$(function() {
   $("p").contents().each(function(i, e) {
       if( e.nodeType === 3 ) {
           e.nodeValue = e.nodeValue.replace(/ /g, '\xA0')
       }
   });
});
Run Code Online (Sandbox Code Playgroud)

示例:http://www.jsfiddle.net/4yUqL/42/