gpt4 book ai didi

javascript - 通过使用 getElementsClassName、Javascript、DOM 的 ReplaceChild 访问 oldChild

转载 作者:行者123 更新时间:2023-12-02 15:22:44 24 4
gpt4 key购买 nike

如何访问旧节点并替换它?

我的 XHTML 具有以下结构:

<table id="output">
<tr>
<td>Sometext</td>
<td>...</td>
<td>...<td>
</tr>
<tr class="CLASSNAME">
<td class="ElemKat">text</td>
<td class="ELEM">...</td>
<td class="EL">...</td>
</tr>
<tr class="CLASSNAME">
<td class="ElemKat">text2</td>
<td class="ELEM">s</td>
<td class="EL">sss</td>
</tr>
</table>

我有很多类,因为元素是动态创建的,因此 ID 不是变体。

以及显示错误的函数(错误作为注释):

var sort=function(cmpFunc) {

var table=document.getElementById("output");
var kat=document.getElementsByClassName("ElemKat");
var elem_kat=new Array();
for(var i=0; i<kat.length; i++) {
elem_kat.push(kat[i]);
}
var elem_kat_old=new Array();
elem_kat_old=elem_kat;
elem_kat.sort(cmpFunc);

for(var j=0; j<elem_kat.length; j++) {
//table=elem_kat_old[j].parentNode; ->No error,but no change in the output
table.replaceChild(elem_kat[j],elem_kat_old[j]); //Node was not found
}
}

最佳答案

尝试以下操作,而不是elem_kat_old = elem_kat;:

elem_kat_old = elem_kat.slice(0)

将一个数组分配给另一个数组可以使您对一个数组执行的任何操作都会发生在另一个数组上。这并不完全是引用赋值,但我不能 100% 确定它的正确 Javascript 术语。

关于javascript - 通过使用 getElementsClassName、Javascript、DOM 的 ReplaceChild 访问 oldChild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33907115/

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