jQuery - скрыть элемент внутри строки html - PullRequest
1 голос
/ 01 февраля 2011

У меня есть функция ajax, которая извлекает некоторые данные в виде html.

Как я могу скрыть определенный элемент из этой строки html?$(data).find(".element").hide() не работает ...

1 Ответ

4 голосов
/ 01 февраля 2011

Вы уверены, что это не работает? Распространенной ошибкой является предположение, что сама строка изменена.

Попробуйте вместо этого:

var $data = $(data); // create new DOM elements, and keep a reference to them
$data.find(".element").hide();  // find and hide .element
$data.appendTo('wherever');  // append the new elements

Другая возможность состоит в том, что .element находится на верхнем уровне HTML-кода, который был возвращен.

В этом случае вам потребуется метод filter() (документы) вместо find() (документы) метод.

var $data = $(data); // create new DOM elements, and keep a reference to them
$data.filter(".element").hide();  // filter and hide .element
$data.appendTo('wherever');  // append the new elements

Последнее, что нужно попробовать, это обернуть весь HTML-код в элемент <div>, а затем выполнить .find().

// var $data = $('<div>' + data + '</div>');  // original version
var $data = $('<div>').append( data );   // this may be better. not sure.
$data.find(".element").hide();
$data.children().appendTo('wherever');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...