2011-02-01 35 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');