$ .post后$(data).filter(“...”)的奇怪行为

时间:2013-03-27 18:20:54

标签: jquery

我不会因为这些微不足道的事情而烦恼互联网,但这很令人费解:filter()函数要么返回一个HTML对象,要么根据我使用的选择器未定义,甚至一些明显万无一失的选择器可能会返回未定义。

一个例子会更加清晰:http://www.whisno.be/marice/contact.php

只需点击按钮即可获得反馈:

alert(data);
alert($(data).filter($("#debug").val()).html());

我尝试了几个选择器,这让我很困惑。任何人都能理解发生了什么?

1 个答案:

答案 0 :(得分:1)

使用find代替filter

alert($(data).find(debugValue).html());

输出:

  

LesdélicesdeMarice

这是使用jQuery解析data时获得的值:

enter image description here

正如您所看到的,它不直接包含h1,但它确实包含container div。 filter删除与选择器不匹配的所有元素 - 在这种情况下不匹配。 find返回它在提供的元素列表中可以找到的所有h1元素。