本人在做jQuery 测试删除表格的行数之后,重新排序,用text()方法报错,用html()方法也报错,但是可以使用append()方法,新手问题,求解。
function delTr(tempRow){
$("#fsoSiTr"+tempRow).remove();
var $fsoSiTrs = $("#fsoIsTbl tr:gt(0) td:first-child");
for(var i=0; i<$fsoSiTrs.length-1;i++){
/* $fsoSiTrs[i].innerHTML = i+1; */ //这样操作没问题
$fsoSiTrs[i].text(i+1); //这种方式操作就会报错:TypeError: $fsoSiTrs[i].text is not a function
}
}
$fsoSiTrs是jQuery对象,你用了[i]就转变为了dom对象,你innerHTML是dom对象的方法所以$fsoSiTrs[i].innerHTML不报错;
text()是jQuery对象上的方法,在dom对象上,原生并不支持这个方法,所以报错text不是一个函数。
要想使用text()函数,你就得把这个dom对象转为jQuery对象,最简单就是$($fsoSiTrs[i]).text() 用$(任意dom对象)就能转为jquery对象。
$fsoSiTrs[i].html()
html()方法也报错,就是append()不报错,我就奇怪了
就这么沉下去了吗? 寻大神指教
[]后是dom对象,不是jquery,dom对象没有text,html方法,改为eq获取
$fsoSiTrs[i].text(i + 1);
===》
$fsoSiTrs.eq(i).text(i + 1);