我正在运行一个ajax调用,它将一些HTML作为字符串返回。出于这个问题的目的,当我得到这个问题时,我会打电话给<div class='abc'>ABC123</div>
我想检查并查看班级&#34; abc&#34;有价值,有什么价值。但是,当我运行.find()时,我找不到类,我可以找到div,但不能找到特定的类。仅使用div是不够的,因为在真实的实时代码中,HTML非常复杂并且具有许多div和类。下面是一些说明我的观点的JS。
var x = "<div class='abc'></div>";
$(x).hasClass("abc"); // returns true
$(x).find(".abc"); // Returns empty array
为什么第一行返回true,但是选择器找不到元素?
谢谢!
答案 0 :(得分:3)
因为$x
是具有类abc
的div。
jquery .find()
尝试在div.abc
内找到任何与abc
无法找到的子项。
这更像是它。
var x = "<div class='abc'><div class='def'></div></div>";
$(x).hasClass("abc"); // returns true
$(x).find(".def"); // returns $('div.def')
答案 1 :(得分:0)
当我们将html元素附加到页面时,由于父子关系,有时JQuery无法找到此元素。
例如:在具有id append_area的div中具有类<div id="append_area">
</div>
的按钮,我们希望在单击此按钮时运行函数。然后我们可以使用下面的代码。
HTML代码:
$("#results").delegate('.submit', 'click', function(){ });
Jquery代码:
{{1}}