2012-09-11 41 views
-1

与AJAX工作时,我遇到了以下问题: http://jsbin.com/iriquf/1HTML字符串作为背景

data变量是HTML串的基本表示。

AJAX返回类似的字符串,但带有空格(通常)。因此,我试图在检索的AJAX数据中查找<h1 />,但是,没有虚拟元素,我无法做到这一点。

有没有比将字符串包装到虚拟元素更好的方法?否则http://jsbin.com/iriquf/3/edit

,如果你不知道:

+1

什么了downvotes? – jolt

回答

1

改用

$(data).eq(0).text() 

因为$(data)是一个jQuery包裹集合返回[h1, h2, p, div]可以用$(data).eq(0)

例如jsbin解决h1元素索引<h1>元素在您的收藏中,做一个简单的循环找到它

$(data).each(function(i, node) { 
    if (node.nodeName === 'H1') { 
     console.log($(this).text()); 
    } 
    }); 

(但我强烈希望假包装,以这种方法)

+0

是的,但并不总是我会寻找收藏的第一个元素。 – jolt

+0

而不是使用'.eq',你可以使用'.find'和你正在寻找的元素的选择器。 '$(data).find('h1:first')' – Nalum

+0

@Nalum,我测试过了,不起作用。而且,我想我会坚持使用虚拟元素。 – jolt