gpt4 book ai didi

javascript - jquery删除函数不返回替换的html

转载 作者:行者123 更新时间:2023-12-01 07:37:29 25 4
gpt4 key购买 nike

我有以下功能。我正在尝试删除所有 <img>标签,并且仅包含此数据内的表中的第二行。代码和选择器在控制台中工作正常,但我没有在 data 中得到结果替换所有内容后变量。

 function fetchDetails(URLToRead, email) {
$.get(URLToRead, function (data) {
console.log(data);
var imgTags = $(data).find('img');
$.each(imgTags, function (i,v) {
$(v).remove();
});
$(data).find('table tr:nth-child(2)').remove();
console.log(data);
});
}

URLToRead内容:

<TABLE>
<TR>
<TD>
<span></span>
</TD>
</TR>
<TR>
<TD></TD>
</TR>
<TR>
<TD ><span ></TD>
</TR>
<TR>
<TD height="12" colSpan="4"><IMG src="../images/spacer.gif" width="20" height="7"></TD>
</TR>
</TABLE>

最佳答案

问题在于 .remove() 适用于 DOM 中的元素。您的数据永远不会添加到DOM中。

您可以使用 display: none 创建一个 div,然后对其执行所需的操作:

let data = `
<TABLE>
<TR>
<TD>
<span></span>
</TD>
</TR>
<TR>
<TD></TD>
</TR>
<TR>
<TD ><span ></TD>
</TR>
<TR>
<TD height="12" colSpan="4"><IMG src="../images/spacer.gif" width="20" height="7"></TD>
</TR>
</TABLE>
`

let tempDiv = $("<div style='display: none;'></div>")

$("body").append(tempDiv)
$(tempDiv).append(data)

$(tempDiv).find('img').remove();
$(tempDiv).find('table tr:nth-child(2)').remove();

console.log($(tempDiv).html())
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

关于javascript - jquery删除函数不返回替换的html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60994217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com