insertBefore - 如果元素不存在

时间:2011-05-17 14:21:20

标签: jquery

如果索引大于实际行数,我没有附加任何内容吗?

var elm = $('tr', tbl).eq(index);
if(elm){
    row.insertBefore(elm);
}
else{
    row.appendTo(tbl);
}

2 个答案:

答案 0 :(得分:3)

if($('tr', tbl).length > index){
    row.insertBefore($('tr', tbl).eq(index));
}
else{
    row.appendTo(tbl);
}

答案 1 :(得分:0)

由于您已经引用了table,因此我会使用其原生.rows属性来获取index行的DOM元素。

然后简单的if( elm )语句就可以了。

var elm = tbl[0].rows[index];
if( elm ) {
    row.insertBefore(elm);
}
else{
    row.appendTo(tbl);
}

需要的代码更少,运行速度更快。