1

我需要进行健全性检查,因为我花了大约一个小时试图弄清楚这一点!

getRows().each(function() {
    alert(this);     // alerts '[object HTMLTableRowElement]', nothing wrong here
    this.hide();     // row not hidden - wtf?
    alert('hidden'); // no alert - more wtf!
});

调用 hide() 有什么问题?

4

3 回答 3

7

里面.each() this是一个 DOM 元素 ( HTMLTableRowElement),您需要将其包装以使其再次成为 jQuery 对象(具有.hide()方法),如下所示:

$(this).hide();

没有这个,你会得到一个方法未定义的错误,因为HTMLTableRowElement没有.hide()方法:) 这个错误也是警报没有触发的原因,因为执行停止了错误。

于 2010-06-28T14:54:51.887 回答
2

尝试$(this).hide()

于 2010-06-28T14:55:05.427 回答
2

您没有收到第二个警报,因为上一行导致了错误。将其更改为

$(this).hide();

this指的是选定的元素,但它没有hide方法。您需要将其包装在具有该hide方法的 jQuery 对象中。

于 2010-06-28T14:55:18.470 回答