2012-01-13 83 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的回答是简洁