Javascript 表格单元格上的JQuery,html()返回;“未定义”不是一个函数;

Javascript 表格单元格上的JQuery,html()返回;“未定义”不是一个函数;,javascript,jquery,html,Javascript,Jquery,Html,我在JQuery方面遇到了一些问题 我有一个名为class.ulName的HTML表 当我使用$('.ulName')检索它们时,我没有问题。当我用alert()遍历它们时,Chrome告诉我它们确实是HTMLTableCellElement。但是当我对它们使用html()方法时,我得到了“UncaughtTypeError:undefined不是一个函数”。我尝试使用其他方法来查看它的工作原理(例如append()),但它做了同样的事情 我还试图从forloop改为$。但它做了同样的事情 最后

我在JQuery方面遇到了一些问题

我有一个名为class.ulName的HTML表 当我使用$('.ulName')检索它们时,我没有问题。当我用alert()遍历它们时,Chrome告诉我它们确实是HTMLTableCellElement。但是当我对它们使用html()方法时,我得到了“UncaughtTypeError:undefined不是一个函数”。我尝试使用其他方法来查看它的工作原理(例如append()),但它做了同样的事情

我还试图从forloop改为$。但它做了同样的事情

最后,我还尝试了$.parseHTML,但它返回null

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

$('#ulFilter').on('input', function () {
    var uploads = $('.ulName');

    for (var i=0; i < uploads.length; i++) {
        alert(uploads[i].html());
    }
});
$('ulFilter')。在('input',function(){
var uploads=$('.ulName');
对于(var i=0;i
使用索引器获取原始DOM元素,而不是jQuery对象。看

原始元素没有名为
html
的函数,而是名为
innerHTML
的属性

以下是一些解决方案:

  • 使用
    uploads.eq(i)
    而不是
    uploads[i]
  • 使用
    $(上载[i])
    而不是
    上载[i]
  • 使用
    上载[i].innerHTML
    而不是
    上载[i].html()

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

原始元素没有名为
html
的函数,而是名为
innerHTML
的属性

以下是一些解决方案:

  • 使用
    uploads.eq(i)
    而不是
    uploads[i]
  • 使用
    $(上载[i])
    而不是
    上载[i]
  • 使用
    上载[i].innerHTML
    而不是
    上载[i].html()
$(“.ulName”)返回节点列表

所以你可以用

var uploads = $(".ulName");
$.each(uploads, function() {
    $(this).html();
});
$(“.ulName”)返回节点列表

所以你可以用

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

为了简化for循环,您可以在函数中使用$。每个$(this)使其更简单。类似地,您还可以使用标准innerHTML属性而不是jQuery的html()函数。(编辑:正如Stefano刚才所说,so+1)为了简化for循环,可以在函数中使用$。在函数中使用$(this)使其更简单。类似地,您可能还使用了标准innerHTML属性而不是jQuery的html()函数。(编辑:正如Stefano刚才所说,so+1)它实际上返回一个jQuery对象。它实际上返回一个jQuery对象。