例如,我有一个像这样的字符串文本
<span> You</span> <span>have</span> <span>20</span> <span>minutes</span><span> to</span><span> <span>complete</span><span> each</span><span> test</span>
所有单词都包含在span标签中。 但是现在我需要用span替换一个字符串。例如,如果我的字符串是:
You have
我需要替换
<span> You</span> <span>have</span>
与
<span>You have</span>
在文中。
非常重要,我要替换的字符串是动态的(可以是“完成”或“每个测试”),所以我的最终文本将是
<span> You have</span><span>20</span> <span>minutes</span><span> to</span><span> complete</span><span> each</span><span> test</span>.
感谢您的回答
答案 0 :(得分:2)
您只需使用jQuery选择span
,然后使用其text
并删除所有内容并将文字追加到新的范围内。
var txt = $('span').text(); // get the text
$('span').remove(); // remove them
$('body').append('<span>' + text + '</span>'); // append a new one with the gotten text
如果您只需要前n个跨度,则可以
var txt = $('span:lt(n-1)').text(); // of course don't type n-1 as it is. Calculate!
答案 1 :(得分:0)
我认为这样可以正常使用
var pspan=null;
var arr=[];
$( "span" ).each(function( index ) {
if(index==0) pspan=$(this);
arr.push($.trim($(this).text()));
});
pspan.text(arr.join(' '));
答案 2 :(得分:0)
做这样的事情:
var html = '<span> You have</span><span>20</span> <span>minutes</span><span> to</span><span> complete</span><span> each</span><span> test</span>.';
var newHtml = "";
$(html).find("span").each(function (index, value) {
newHtml += value;
});
newHtml = "<span>" + newHtml + "</span>";
就是这样; - )