2012-01-13 97 views
3

我有一個包含html的字符串,包括幾個div。我需要從這些div中的一個獲得html,其中有'.image-desc'類。Jquery - 從字符串獲取div html

我想我能做到以下幾點,但它不工作:

$('<div class="image-title">Title</div><div class="image-desc">Description</div>').find('.image-desc').html(); 

我如何能做到這一點任何想法?

回答

6

問題是.find()會搜索子元素,而不是當前jQuery對象中的元素。

使用.filter()過濾電流的選擇:

$('<div class="image-title">Title</div><div class="image-desc">Description</div>') 
    .filter('.image-desc').html(); 

工作例如在jsfiddle

+0

感謝迪迪埃Ghys。我幾乎在那裏:) – iltdev 2012-01-13 12:41:51

1

你寫

$('<div class="image-title">Title</div><div class="image-desc">Description</div>') 

什麼將創建一個包含兩個div jQuery對象。所以

$('<div class="image-title">Title</div><div class="image-desc">Description</div>').each(function(){ 
     if($(this).hasClass('image-desc')){ 
      //do whatever you want 
     } 
}) 

應該工作

編輯:@Didier Ghys的回答是簡潔