2013-05-02 30 views
0

鉴于我在JavaScript变量“数据”Jquery的parseHTML没有给预期的对象

<div class="packery-item">   
     <img class="rsImg" src="/media/VERSIONS/images/blog/2013/04/heart-watercolor1_featured_image.jpg" alt="Article illustration"/>   
</div> 
<div class="packery-item">   
     <img class="rsImg" src="/media/VERSIONS/images/blog/2013/04/planning_featured_image.jpg" alt="Article illustration"/>   
</div> 
<div class="packery-item"> 
    <img src="/media/VERSIONS/images/galleries/2013/04/fashion_slideshow.jpg" alt="" /> 
</div> 

当我运行$(data)返回这样的HTML字符串:

[div.packery-item, text, div.packery-item, text, div.packery-item, text, div.packery-item, text, div.packery-item, text, div.packery-item, constructor: function, init: function, selector: "", jquery: "1.8.3", size: function…] 

我希望它返回只有div.packery-item的列表。我做错了什么?

+0

似乎显示罚款:: http://jsfiddle.net/Fw7vz/ – 2013-05-02 03:17:22

+0

你可以发布你的脚本? – 2013-05-02 03:17:47

+1

标签之间的换行符和空格创建包含空格的文本节点。 – Barmar 2013-05-02 03:18:54

回答

0

您需要摆脱标签之间的空白,将它们变成文本节点,以便元素之间会有间距。

var data = '<div class="packery-item">' + 
     '<img class="rsImg" src="/media/VERSIONS/images/blog/2013/04/heart-watercolor1_featured_image.jpg" alt="Article illustration"/>' + 
'</div>' + 
'<div class="packery-item">' + 
     '<img class="rsImg" src="/media/VERSIONS/images/blog/2013/04/planning_featured_image.jpg" alt="Article illustration"/>' + 
'</div>' + 
'<div class="packery-item">' + 
    '<img src="/media/VERSIONS/images/galleries/2013/04/fashion_slideshow.jpg" alt="" />' + 
'</div>' 
+0

是的,这是正确的,我只是意识到这一点。 – 2013-05-02 03:25:09