Не могу получить JQuery скрыть работу - PullRequest
1 голос
/ 28 июня 2010

Мне нужна проверка работоспособности, так как я потратил около часа, чтобы понять это!

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 ]

7 голосов
/ 28 июня 2010

Внутри .each() this находится элемент DOM (HTMLTableRowElement), вам нужно обернуть его, чтобы снова сделать его объектом jQuery (с методом .hide()), например:

$(this).hide();

Без этого вы получаете метод неопределенной ошибки, потому что HTMLTableRowElement не имеет метода .hide() :) Эта ошибка также является причиной предупреждениявпоследствии не запускается, потому что выполнение остановлено из-за ошибки.

2 голосов
/ 28 июня 2010

Вы не получите второе предупреждение, потому что предыдущая строка вызвала ошибку.Измените его на

$(this).hide();

this относится к выбранному элементу, но у него нет метода hide.Вам нужно обернуть его в объект jQuery, который имеет метод hide.

2 голосов
/ 28 июня 2010

попробуй $(this).hide()

...