mor*_*des 11 jquery jquery-selectors
我的jQuery对象如下所示:
var myJq = jQuery("<div class='a'></div><div class='b'></div>")
Run Code Online (Sandbox Code Playgroud)
myJq.find(".a")返回一个空的jQuery对象,显然是因为find()只搜索jQuery对象中包含的节点的子节点,而不是节点本身.
如何myJq使用选择器抓住其中一个div ?
use*_*716 18
你需要.filter()改用.
这将过滤jQuery对象顶层的项目.
myJq.filter(".a")
Run Code Online (Sandbox Code Playgroud)
这是一个.find2(),它可以找到根元素和子元素:
$.fn.find2 = function(selector) {
return this.filter(selector).add(this.find(selector));
};
Run Code Online (Sandbox Code Playgroud)
有了这个,你可以这样做:
var html = '<div class="one"><div class="one"></div></div>';
var el = html.find2(".one"); // will match both divs
Run Code Online (Sandbox Code Playgroud)
这里有更多关于它的信息:http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/