无法让jQuery隐藏起作用

时间:2010-06-28 14:53:09

标签: jquery show-hide

我需要一个完整性检查,因为我花了大约一个小时试图解决这个问题!

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

调用hide()会轰炸出来会有什么不对?

3 个答案:

答案 0 :(得分:7)

.each() this内部是一个DOM元素(HTMLTableRowElement),您需要将其包装起来再次成为jQuery对象(具有.hide()方法)像这样:

$(this).hide();

如果没有这个,你会得到一个方法未定义的错误,因为HTMLTableRowElement没有.hide()方法:)这个错误也是警告之后没有触发的原因,因为执行已经停止关于错误。

答案 1 :(得分:2)

尝试$(this).hide()

答案 2 :(得分:2)

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

$(this).hide();

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