2013-07-23 26 views

回答

0

如果选择一个独特的形象相匹配,这将做到这一点:如果多个元素相匹配

$("selector").html($("<span/>", { text: $("selector").text() }); 

,你需要使用.each()来分别处理它们中的每一个;将$("selector")替换为$(this)

0

你可以尝试

$('p').contents().filter(function(){ 
    return this.nodeType == 3 
}).wrap('<span/>') 

演示:Fiddle

1

有做具体取决于您使用的是框架与否多种方式。基本上,你可以用香草js,简单的老js来做到这一点。

var ps = document.getElementsByTagName('p'); 
var text = ps[0].innerText; 

ps[0].innerHTML = ps[0].innerHTML.replace(text, '<span>' + text + '</span>'); 
1

我发现使用文本功能也很有用

$(function(){ 
    $('p').text(function(i, oldText){ 
     return oldText; 
    }).wrap("<span>"); 
}); 

demo

0
var text = $('p').text(); 
var img = $('p img').attr('src'); 
$('p').html('').append('<img src="'+img+'" /><span>'+text+'</span>'); 
相关问题