我有一个现有的元素集合,如果它们匹配给定的选择器,我想更改它们。我想对这些项目的后代做同样的事情(递归地)。这似乎是 的功能jQuery( selector [, context ] )
。但是,结果集不包括父元素。我也想查询他们。这可以用一个命令完成吗?
例如,
var els = $('<div foo="bar">')
$("[foo]", els ); // finds nothing
els.filter("[foo]"); // finds div
但是过滤器不搜索后代,所以
var els = $('<div foo="bar"><span foo="foobar"></div>')
$("[foo]", els ); // finds span
els.filter("[foo]"); // finds div
找到 span 和 div 的最佳方法是什么?使用这两个命令?是否有单行命令可以找到两者?还是比这个好?
var els = $('<div foo="bar"><span foo="foobar"></div>')
var selection = $("[foo]", els ); // finds inner elements
selection = selection.add(els.filter("[foo]")); // then adds on parents that match the selector