如何从jquery对象集合中删除jquery对象?

时间:2020-08-23 10:42:48

标签: jquery collections element remove

我意识到这在某种程度上是一个重复的问题,我什至看过jQuery remove object from object collection问题,但我希望有一个更好的答案,更完整。

如果我要创建一个集合,例如$divs = $( 'div' );,它可能会返回一个集合中的几个div,但是如果我需要从集合中而不是从DOM中删除/删除其中一个,我不会看不到jQuery命令可以做到这一点。链接文章解决方案中的一个建议答案是,该集合中留有一个空值,我宁愿不这样做。

就我而言,集合中的所有对象在创建集合时“看起来”都相同,即没有类,属性或属性值差异,我可以在CSS选择器中使用该属性来排除对象我要从收藏夹中删除的物品。发生的情况是,用户单击要删除的项目旁边的按钮,然后从该单击中确定需要删除的项目。

我可以使用按钮单击来临时修改div.drop-down-list,然后在创建jQuery集合时使用该差异来排除一个元素,但是我希望有一些更简洁的方法。

除了处理按钮单击并确定要删除的div.drop-down-list的代码外,这是我要创建的代码,只是jQuery中没有removeObject语句。

$div = $( 'div.drop-down-list' ); // Get all of the drop-down-lists
$div.removeObject( $( clickedDropDownList ) ); // Create a new jQuery object for the one to exclude.
$div.hide();  // Hide/Close all the others.

使用add( ... )语句可以很容易地将新的jQuery对象项添加到集合中,但这似乎并不奇怪。

1 个答案:

答案 0 :(得分:0)

好吧,我认为您想要的是过滤数组而不删除目标。您可以尝试使用#include <stdio.h> #include <stdlib.h> #define MAX_DATA_NUM 100000 typedef struct input{ double x; double y; double u; double v; double rho; } input_t; void read_file(); void read_file(){ int i = 0, j, count = 0; int c; input_t data[MAX_DATA_NUM]; FILE *fp; fp = fopen ("flow_data.csv", "r"); if (fp == NULL){ printf("Error reading file, exiting..."); exit(EXIT_FAILURE); } while (i < MAX_DATA_NUM) { if(fscanf(fp, "%lf %lf %lf %lf %lf", &data[i].x, &data[i].y, &data[i].u, &data[i].v, &data[i].rho) == 5) i++; else break; } for (j = 0; j < i; j++) { printf("x: %f, y: %f, u: %f, v: %f, rho: %f \n", data[j].x, data[j].y, data[j].u, data[j].v, data[j].rho); } for (c = getc(fp); c != EOF; c = getc(fp)) { if (c == '\n') { count = count + 1; } } fclose(fp); printf("The file has %d lines\n ", count); } 方法,如下所示:

filter