2012-08-30 46 views
1

我有一段简单的HTML,我通过AJAX检索。 它看起来像这样:Jquery:简单的选择器不起作用,忽略父元素

<div id="hiddencontact"> 
    <form id="hiddenform"></form> 
</div> 

所以,这是存储在“数据”变量。

现在,我尝试运行此:

$('#hiddencontact', data); 

但它不工作。我没有得到div。

然而,这不工作,并返回形式对我说:

$('#hiddenform', data); 

这是为什么?为什么第一个元素被忽略?

顺便说一句:我使用jQuery 1.7.1

回答

5

为什么是第一要素被忽略?

因为data的根节点是#hiddencontact本身。所以,你不能找到它作为一个嵌套元素

随着$('#hiddencontact', data);你正在寻找嵌套在data元素:它会像寻找$(data).find('#hiddencontact')

+0

啊哈,问题是多个元素返回,所以除了#hiddencontact还有其他几个元素。我只是将所有东西都包装在一个普通的div中,现在它完美的运行。谢谢。 – skerit

0

只要做到这一点$(data);,你会得到整个DIV