Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将html内容的每个单词包装在一个范围内_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 将html内容的每个单词包装在一个范围内

Javascript 将html内容的每个单词包装在一个范围内,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我无法将html内容的每个单词都用一个跨距包装起来,同时保留其他标记 例如,如果我的代码示例是 Lorem ipsum door sit amet告别精英。Nam nec scelerisque nisl,vitae mattis diam。在interdum porttitor发酵罐中添加Proin lorem。 我想做的是(代码也保留了其他元素) Lorem ipsum dolor sitamet 如何将每个单词包装在一个范围内,同时保留其他标记 我们可以假设我的HTML代码my只包含和其他

我无法将html内容的每个单词都用一个跨距包装起来,同时保留其他标记

例如,如果我的代码示例是

Lorem ipsum door sit amet
告别精英。Nam nec scelerisque nisl,vitae mattis diam。在interdum porttitor发酵罐中添加Proin lorem。

我想做的是(代码也保留了其他元素)

Lorem ipsum dolor sit
amet

如何将每个单词包装在一个范围内,同时保留其他标记

我们可以假设我的HTML代码my只包含

和其他元素。

您使用的是
.text()
,它将剥离所有其他标记。我认为您需要使用regexp来完成这项工作,因为拆分(“”)找到的标记中有时会有空格

因此,您需要一个正则表达式来查找结尾带有空格的字符串或标记及其结束标记。这并不直接。这将查找以下空间:

text.replace(/(\w*)\s/g, "<span class="">$1</span> ")
text.replace(/(\w*)\s/g,“$1”)
您使用的是剥离所有其他标记的
.text()
。我认为您需要使用regexp来完成这项工作,因为拆分(“”)找到的标记中有时会有空格

因此,您需要一个正则表达式来查找结尾带有空格的字符串或标记及其结束标记。这并不直接。这将查找以下空间:

text.replace(/(\w*)\s/g, "<span class="">$1</span> ")
text.replace(/(\w*)\s/g,“$1”)
试试看

$('p')
.find(“*”)
.addBack('p')
.每个(功能){
textNode=$(this).contents().filter(函数(){
返回this.nodeType==3;//Node.TEXT\u Node
});
text=textNode.text().split(“”);
替换=“”;
$.each(文本、函数(索引、值){
if(value.replace(/\s+/,“”)){//删除空白
替换+=''+值+'';
}
});
textNode.replaceWith($(replace));
});
试试看

$('p')
.find(“*”)
.addBack('p')
.每个(功能){
textNode=$(this).contents().filter(函数(){
返回this.nodeType==3;//Node.TEXT\u Node
});
text=textNode.text().split(“”);
替换=“”;
$.each(文本、函数(索引、值){
if(value.replace(/\s+/,“”)){//删除空白
替换+=''+值+'';
}
});
textNode.replaceWith($(replace));
});

它给出了错误的输出。它将文本打印两次,输出错误。它将文本打印两次。
var articleContent = "";
var totalWords = 0;
$("#content").find('p').each(function(){
    var text = $(this).text().split(' ');
    for( var i = 0, len = text.length; i<len; i++ ) {
        text[i] = '<span class="sc">'+text[i]+'</span>'; 
    }
    totalWords = totalWords + i;            
    articleContent = articleContent + "<p>"+text.join(' ')+"</p>";
});//End of each ,
console.log(articleContent);
text.replace(/(\w*)\s/g, "<span class="">$1</span> ")
$('p')
    .find('*')
    .addBack('p')
    .each(function () {

        textNode = $(this).contents().filter(function () {
           return this.nodeType === 3; //Node.TEXT_NODE
        });

        text = textNode.text().split(' ');
        replace = '';

        $.each(text, function (index, value) {
            if ( value.replace(/\s+/, "") ) {   // Remove whitespaces
               replace += '<span class="wraped">' + value + '</span>';          
            }
        });

        textNode.replaceWith( $(replace) );

    });