2011-02-01 49 views
1

我有一个ajax函数,它将一些数据检索为html。jQuery - 在html字符串中隐藏一个元素

如何从此html字符串隐藏某个元素? $(data).find(".element").hide()不起作用...

+0

你是什么意思?您是否将HTML追加到文档中?如果没有,那么你需要在试图隐藏内部html节点之前这样做。 – 2011-02-01 02:18:55

+0

你以后再次存储它吗?可以通过查看数据的内容来确保元素位于其中。 – Orbling 2011-02-01 02:19:42

回答

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 

的最后一件事,试图将缠绕在<div>元素完整的HTML,然后做一个.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');