xiaopengpo
羽異
采纳率50%
2017-08-19 03:16

jQuery TypeError: text is not a function

已采纳

本人在做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
}
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • stopllL white_g 4年前

    $fsoSiTrs是jQuery对象,你用了[i]就转变为了dom对象,你innerHTML是dom对象的方法所以$fsoSiTrs[i].innerHTML不报错;
    text()是jQuery对象上的方法,在dom对象上,原生并不支持这个方法,所以报错text不是一个函数。
    要想使用text()函数,你就得把这个dom对象转为jQuery对象,最简单就是$($fsoSiTrs[i]).text() 用$(任意dom对象)就能转为jquery对象。

    点赞 6 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 4年前

    []后是dom对象,不是jquery,dom对象没有text,html方法,改为eq获取

    
    $fsoSiTrs[i].text(i + 1);
    ===》
    $fsoSiTrs.eq(i).text(i + 1);
    
    点赞 2 评论 复制链接分享
  • xiaopengpo 羽異 4年前

    就这么沉下去了吗? 寻大神指教

    点赞 评论 复制链接分享
  • xiaopengpo 羽異 4年前

    html()方法也报错,就是append()不报错,我就奇怪了

    点赞 评论 复制链接分享
  • zml_moxueli 呓语的风 4年前

    $fsoSiTrs[i].html()

    点赞 评论 复制链接分享

相关推荐