我有以下html
<p><img src="" /> some text</p>
如何仅用标签包装文本。<span>
最终结果应该是
<p><img src="" /><span>some text</span></p>
我有以下html
<p><img src="" /> some text</p>
如何仅用标签包装文本。<span>
最终结果应该是
<p><img src="" /><span>some text</span></p>
根据您是否使用框架,有多种方法可以做到这一点。这基本上是你如何使用 vanilla js,普通的旧 js 来做到这一点。
var ps = document.getElementsByTagName('p');
var text = ps[0].innerText;
ps[0].innerHTML = ps[0].innerHTML.replace(text, '<span>' + text + '</span>');
我发现使用文本功能也很有用
$(function(){
$('p').text(function(i, oldText){
return oldText;
}).wrap("<span>");
});
如果选择器匹配一个独特的图像,这将做到这一点:
$("selector").html($("<span/>", { text: $("selector").text() });
如果它匹配多个元素,则需要.each()
分别处理每个元素;正文将上面的$("selector")
替换为$(this)
。
var text = $('p').text();
var img = $('p img').attr('src');
$('p').html('').append('<img src="'+img+'" /><span>'+text+'</span>');