我有一个ajax函数,可以将某些数据检索为html。
如何隐藏此html字符串中的某个元素? $(data).find(".element").hide()
不起作用......
答案 0 :(得分:4)
你确定它不起作用吗?一个常见的错误是假设字符串本身被修改。
请改为尝试:
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()
(docs)方法而不是find()
(docs)方法。
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');