gpt4 book ai didi

jQuery content() 在 IE 中导致问题

转载 作者:行者123 更新时间:2023-12-01 07:33:02 24 4
gpt4 key购买 nike

我在 jQuery 中使用contents() 函数来获取 LI 中的一些文本,而我无法直接使用 span 或其他选择器来定位这些文本。

我编写的代码如下:

$('#tierArray_' + tierId).contents().each(function(i, node) {
if (node.nodeName == "#text") {
node.textContent = name;
}
});

这在 Firefox 中运行良好,并将目标文本更改为“名称”中设置的内容。但是在 IE 中我收到以下错误:

“对象不支持此属性或方法”

这似乎与“node.textContent = name”行有关,因为当我注释掉该行时,错误消失了。

简而言之,我只是尝试用新创建的文本替换一些文本,HTML 标记如下:

<li class="ui-state-default" id="tierArray_105">
<span style="display: block;" id="revoke_105">
<a class="tierStatus" title="Revoke" href="#">Revoke</a> |
<a class="tierEdit" id="edit_tier_105" title="Bla 3aaa11" href="#">Edit</a>
</span>
<span style="display: none;" id="active_105">
<a class="tierStatus" title="Activate" href="#">Activate</a> |
<a class="tierEdit" id="edit_tier_105" title="Bla 3aaa11" href="#">Edit</a>
</span>
Bla 3aaa11
</li>

因此,最后一个跨度 (Bla 4aaa11) 之后的文本需要替换为一些新生成的文本。

最佳答案

Internet Explorer 不支持 textContent属性。

但是,由于您只想替换文本节点的内容,因此应该能够使用 nodeValue相反:

$("#tierArray_" + tierId).contents().each(function(i, node) {
if (node.nodeName == "#text") {
node.nodeValue = name;
}
});

关于jQuery content() 在 IE 中导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4500878/

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