JQuery中,html()对表格单元格返回“未定义”,而不是“函数”

JQuery, html() on a table cell returns "undefined is not a function"

本文关键字:未定义 函数 返回 单元格 html 表格 JQuery      更新时间:2023-09-26

我在使用JQuery时遇到了一些问题。

我有一个HTML表,其中的名称具有类。ulname当我用$('. ulname ')检索它们时,我没有问题。当我用alert()迭代它们时,Chrome告诉我它们确实是HTMLTableCellElement。但是当我对它们使用html()方法时,我得到"未捕获的TypeError: undefined不是一个函数"。我尝试使用其他方法来查看它是如何工作的(例如append()),但它做了同样的事情。

我还尝试将forloop改为$。但它们都做了同样的事情。

最后,我还尝试了$。parseHTML但是返回null

这是代码源,我希望你能帮助我解决我的问题,因为我不明白为什么它不能工作。提前感谢您的回答。

$('#ulFilter').on('input', function () {
    var uploads = $('.ulName');
    for (var i=0; i < uploads.length; i++) {
        alert(uploads[i].html());
    }
});

使用索引器获取原始DOM元素,而不是jQuery对象。请看这个问题

raw元素没有称为html的函数,而是具有称为innerHTML的属性。

以下是一些解决方案:

  • 使用uploads.eq(i)代替uploads[i]
  • 使用$(uploads[i])代替uploads[i]
  • 使用uploads[i].innerHTML代替uploads[i].html()

$(". ulname ")返回一个NodeList。

所以你可以使用

var uploads = $(".ulName");
$.each(uploads, function() {
    $(this).html();
});