jquery - 如何在数组变量中选择不同的值,并添加到 jquery 中的另一个变量?

标签 jquery variables

假设我选择了一些东西:

var $nodeAll = $('.sortable');

然后我想从中选择一些,并将它们添加到另一个名为 $node 的变量中,我想要选择的是父级没有名为“node”的类:

$nodeAll.each(function () {
        if ($(this).parents('.node').length == 0) {
            //var $node=? what should I do?
        }
});

谢谢

最佳答案

首先,您不能有多个带有 id="sortable" 的元素,因此我假设您要将其更改为 class="可排序”

您可以将 jQuery .filter() 与自定义过滤器函数一起使用,也可以使用 .not()

使用.not():

var $nodeAll = $('.sortable');
var $nodeLess = $('.node .sortable');
var $nodeFree = $nodeAll.not($nodeLess);

.filter() 与自定义函数一起使用:

var $nodeAll = $('.sortable');
var $nodeFilter = $nodeAll.filter(function() {
    return($(this).parents('.node').length == 0);
});

如果您知道 .sortable 项永远不会有 .node 本身,那么这比之前的版本 .closest( ) 可能比 .parents() 更高效,但是 .closest() 将首先查看起始节点,而 .parents() 从第一个父节点开始,并不首先查看当前节点:

var $nodeAll = $('.sortable');
var $nodeFilter = $nodeAll.filter(function() {
    return($(this).closest('.node').length == 0);
});

关于jquery - 如何在数组变量中选择不同的值,并添加到 jquery 中的另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9678767/

相关文章:

Jquery $.post 更改值

jquery - jqGrid 没有子网格分组?

递归函数中的Python类变量

Java - 在构造函数中为多个变量分配参数

SQL 多个 LIKE 语句

javascript - 如何在表单操作中设置变量值?

php - jquery $.get() 返回 [object,object]

c# - 在 Asp.Net 中获取 jQuery Ajax 返回数据

javascript - 如何将从函数获取的变量传递给 onclick 事件

javascript - 单击按钮在 iframe 内缩放 PDF