我需要一种方法来过滤掉结果集中其他元素的父元素。我试着写一个插件:
jQuery.fn.distinctDescendants = function() {
    var nodes = [];
    var result = this;
    jQuery(result).each(function() {
        var node = jQuery(this).get(0);
        if(jQuery(node).find(result).length == 0) {
            nodes.push(node);
        }
    });
    return nodes;
};
当我在此示例页面上运行以下命令时:
jQuery('body, textarea').distinctDescendants();
我得到(错误的)结果:
[body.contact-page, textarea, textarea]
这是错误的,因为 body 是结果中至少一个其他元素的父元素(两个文本区域)。因此,预期的结果将是:
[textarea, textarea]
这里有什么问题?