Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 如何使用jQuery将文本包装在span标记中(第一个单词除外)?_Javascript_Html - Fatal编程技术网

Javascript 如何使用jQuery将文本包装在span标记中(第一个单词除外)?

Javascript 如何使用jQuery将文本包装在span标记中(第一个单词除外)?,javascript,html,Javascript,Html,是否可以将最后一个单词用span标记(不包括第一个单词)包装成字符串?例如: var string = 'My super text'; 变成 我的超级文本 我有这个: var text = string.split(" "); // drop the last word and store it in a variable var last = text.pop(); // join the text back and if it has more than 1 word add th

是否可以将最后一个单词用span标记(不包括第一个单词)包装成字符串?例如:

var string = 'My super text';
变成

我的超级文本
我有这个:

var text = string.split(" ");

// drop the last word and store it in a variable
var last = text.pop();

// join the text back and if it has more than 1 word add the span tag
// to the last word
if (text.length > 0) {
   return text.join(" ") + " <span>" + last + "</span>";
}
else {
   return "<span>" + text.join(" ") + last + "</span>";
}
var text=string.split(“”);
//删除最后一个单词并将其存储在变量中
var last=text.pop();
//将文本连接回来,如果它有超过1个单词,则添加span标记
//最后一句话
如果(text.length>0){
返回文本。join(“”+“”+last+“”);
}
否则{
返回“+text.join”(“”+last+”;
}

如果最后一个单词至少有两个span标记,但不确定如何修改它,则使用span标记将其包装。

您只需使用返回第一个单词的
text.shift()
,而不是返回最后一个单词的
text.pop()
。这样做会容易得多

var text= string.split(" ");

// get the first word and store it in a variable
var first = text.shift();

// join the text back and if it has more than 1 word add the span tag
// to the last word
if (text.length > 0) {
   return first + " <span>" + text.join(" ") + "</span>";
} else {
   return "<span>" + first + "</span>";
}
var text=string.split(“”);
//获取第一个单词并将其存储在变量中
var first=text.shift();
//将文本连接回来,如果它有超过1个单词,则添加span标记
//最后一句话
如果(text.length>0){
返回第一个+“”+文本。连接(“”+“”);
}否则{
返回“+first+”;
}

您只需要使用返回第一个单词的
text.shift()
,而不是返回最后一个单词的
text.pop()
。这样做会容易得多

var text= string.split(" ");

// get the first word and store it in a variable
var first = text.shift();

// join the text back and if it has more than 1 word add the span tag
// to the last word
if (text.length > 0) {
   return first + " <span>" + text.join(" ") + "</span>";
} else {
   return "<span>" + first + "</span>";
}
var text=string.split(“”);
//获取第一个单词并将其存储在变量中
var first=text.shift();
//将文本连接回来,如果它有超过1个单词,则添加span标记
//最后一句话
如果(text.length>0){
返回第一个+“”+文本。连接(“”+“”);
}否则{
返回“+first+”;
}
var space=string.indexOf(“”);
如果(空格!=-1){
返回string.slice(0,空格)+“”+string.slice(空格)+“”;
}否则{
返回“+字符串+”;
}
var space=string.indexOf(“”);
如果(空格!=-1){
返回string.slice(0,空格)+“”+string.slice(空格)+“”;
}否则{
返回“+字符串+”;
}

您可以使用正则表达式来实现

text = text.replace(/\s(.*)$/, ' <span>$1</span>');


这将允许您修改文本节点并插入
span
元素,而不会与序列化HTML发生冲突。

您可以使用正则表达式来完成此操作

text = text.replace(/\s(.*)$/, ' <span>$1</span>');


这将允许您修改文本节点并插入
span
元素,而不会与序列化的HTML发生冲突。

您不必拆分文本,只需检查是否有空格,然后在此处插入span即可

此代码在第一个空格后插入一个span,如果没有空格(idx==-1),则将span放在字符串的开头:

var idx = string.indexOf(' ');
return string.substr(0, idx + 1) + "<span>" + string.substr(idx + 1) + "</span>";
var idx=string.indexOf(“”);
返回string.substr(0,idx+1)+“”+string.substr(idx+1)+“”;

您不必拆分文本,只需检查是否有空格,然后在其中插入一个span即可

此代码在第一个空格后插入一个span,如果没有空格(idx==-1),则将span放在字符串的开头:

var idx = string.indexOf(' ');
return string.substr(0, idx + 1) + "<span>" + string.substr(idx + 1) + "</span>";
var idx=string.indexOf(“”);
返回string.substr(0,idx+1)+“”+string.substr(idx+1)+“”;