Javascript 使用jQuery替换HTML
我的目标是替换以下内容Javascript 使用jQuery替换HTML,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我的目标是替换以下内容 function toText() { var convertHTML =$('#mainContent').html(); var ele = $(convertHTML + " > span").each(function(){ $(this).replaceWith($(this).text()); }); console.log(ele); } 测试 1234 测试 1234 并希望我的函数输出
function toText()
{
var convertHTML =$('#mainContent').html();
var ele = $(convertHTML + " > span").each(function(){
$(this).replaceWith($(this).text());
});
console.log(ele);
}
测试
1234
测试
1234
并希望我的函数输出test
1234
test
1234
这就是为什么我不能只使用text(),因为它也会带走
像这样试试:
<div id="mainContent">
test
<br>
1234
<br>
<span class="underline">test</span>
<br>
<span class="underline">1234</span>
</div>
您可以使用整个html块作为jQuery选择器:)如下所示:
<div id="mainContent">
test
<br>
1234
<br>
<span class="underline">test</span>
<br>
<span class="underline">1234</span>
</div>
您可以使用整个html块作为jQuery选择器:)
convertHTML
fromvar convertHTML=$('#mainContent').html()代码>不是jQuery对象
你得写信
function toText()
{
var ele = $("#mainContent > span").each(function(){
$(this).replaceWith($(this).text());
});
console.log(ele);
}
原因:
$('#mainContent').html()
将返回字符串
而不是$的jQuery对象。每个
都将正常工作
var ele=$(convertHTML+“>span”)
意味着
var-ele=$(“test
1234
test
1234”+“>span”)
convertHTML
fromvar-convertHTML=$('#mainContent').html()代码>不是jQuery对象
你得写信
function toText()
{
var ele = $("#mainContent > span").each(function(){
$(this).replaceWith($(this).text());
});
console.log(ele);
}
原因:
$('#mainContent').html()
将返回字符串
而不是$的jQuery对象。每个
都将正常工作
var ele=$(convertHTML+“>span”)
意味着
var ele=$(
1234
test
1234“+”>span)
您正在获取从$(“#mainContent”).html()返回的html字符串,并尝试将其用作下一行选择器的一部分,而实际需要的选择器是“#mainContent>span”
请尝试以下方法:
var ele = $("#mainContent > span").each(function(){
$(this).replaceWith($(this).text());
});
您不需要.each()
循环:如果将函数传递给.replaceWith()
,则会对jQuery对象中的每个元素调用该函数一次,并使用返回值替换当前元素
演示:您正在获取从$(“#mainContent”).html()返回的html字符串,并尝试将其用作下一行选择器的一部分,而实际需要的选择器是“#mainContent>span”
请尝试以下方法:
var ele = $("#mainContent > span").each(function(){
$(this).replaceWith($(this).text());
});
您不需要.each()
循环:如果将函数传递给.replaceWith()
,则会对jQuery对象中的每个元素调用该函数一次,并使用返回值替换当前元素
演示: