gpt4 book ai didi

javascript - insertBefore() 问题

转载 作者:行者123 更新时间:2023-11-30 18:41:34 25 4
gpt4 key购买 nike

我有一个小对象,它必须将新行附加到表中。在大多数情况下它工作正常,但如果某些行中有一个表(在“根”表中),则该对象不会附加到正确的表格!?

我一直在进行一些调试,并找到了全部出错的行。如果设置了 DEBUG 并且省略了带有 insertBefore() 的行,则对象将附加到正确的表中

var List = new function(){
this.append_row = function(row, tbl, index){
if(DEBUG){
index = -1;
}

if(index == 0){
row.prependTo(tbl);
}
else if(index > 0){
var elm = $('tr', tbl);
if(elm.length > index){
row.insertBefore(elm.eq(index)); // the issue is in this line
}
else{
row.appendTo(tbl);
}
}
else{
row.appendTo(tbl);
}
};
}

最佳答案

这是因为:

var elm = $('tr', tbl);

...等同于:

var elm = $(tbl).find('tr');

所以它会定位所有嵌套的<tr>任何嵌套中的元素 <table> .

所以你可以这样做:

var elm = $(tbl.rows); // if `tbl` is the DOM element

或者这个:

var elm = $(tbl[0].rows); // if `tbl` is a jQuery object

现在elm仅引用 rowstbl , 而不是任何嵌套的 <table>元素。

关于javascript - insertBefore() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6725531/

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