2012-12-14 119 views
0

我有一個jQuery的小問題。選擇HTML內容並替換

讓說,我有以下語句:

var content = $('#details').html(); 

我如何發現裏面內容的東西嗎?

這是我已經試過:

// i want to empty the data inside the id=student 
content.find('#student').html(''); 

但由於內容是一個字符串...我怎樣才能HTML分配給一個變量,並能夠搜索是什麼?

更新:

這裏就是我想實現:

我有一個Ajax查詢和我需要的(#details)結構完整。

如果我空的結構,然後針對不同的AJAX查詢我可能需要做內部#student一些替代它不會用,因爲它已被清除......

例如:

<div id="details"> 

<div id="student"> 
    <span> {%weeks%} </span> 
</div> 

<div id="teacher"> 
    <span> {%whatever%} </span> 
</div> 
</div> 

所以有時我需要根據ajax查詢清除學生/某個時候的教師,這就是爲什麼我製作html的副本。

+0

這是一個ID,因此它應該是唯一的..所以爲什麼不直接使用id'$('#學生)。('')' –

+2

從第一個代碼中移除'html',它會起作用。 – undefined

+1

'$('#details')。find('#student')。html('');' –

回答

0

作爲ID必須是唯一的可以直接通過ID這是更有效的是創建一個冗餘jQuery對象選擇的元素。

$('#student').html(''); 

您也可以使用空的方法:

$('#student').empty(); 

請注意,如果你正在使用AJAX,你可以使用html方法改變元素的HTML內容,沒有必要刪除HTML內容。

// ... 
success: function(data) { 
    $('#student').html(data); 
} 

如果要緩存的對象,你可以使用end方法,返回到以前的狀態:

var $content = $('#details'); 
$content 
    .find('#something').foo().end() 
    .find('#anotherElement').bar().end() 

或者,如果你要複製的元素,使用clone方法:

var $contentCloned = $('#details').clone(); 
+0

我知道我可以更改內容,我需要的是1內容和它的副本能夠搜索該內容並進行替換。 – commandos

+0

@commandos看來你想克隆該對象,對吧? – undefined

1

可以使用selecter

$('#student', content); 
0

爲什麼你不能只是做

$('#details').find('#student').html('') 

或更好

$('#student').html('')