从列表中删除元素-JQuery / JavaScript

如何解决从列表中删除元素-JQuery / JavaScript

| 我在div中有一个这样的列表:
<div id=\"x\">5,2,3,1,4,9,8</div>
如何简单地从此列表中删除给定元素? 可以使用JQuery或JavaScript。 请注意,列表中的数字是唯一的,并且它们是从int(11)类型的数据库中输入的,不是按任何顺序排列的。 任何帮助表示赞赏...     

解决方法

        首先,获取文本:
var text=$(\"#x\").text();
然后将其拆分:
var items=text.split(\',\');
如果没有项目,则将有一个空字符串作为数组的唯一元素。如果是这样,则清空数组:
if(items.length==1&&items[0]==\"\") {
    items=[];
}
现在将所有内容转换为整数:(请注意,实际上并不需要执行此步骤,但是如果您要用
items
做其他任何事情,那么很高兴)
items=items.map(function(str) { return parseInt(str,10); });
将要删除的项目放在变量中:
var itemToRemove=3;
在数组中找到:
var index=items.indexOf(itemToRemove);
如果找到它,则将其拼接出数组:
if(index!==-1) {
    items.splice(index,1);
}
将项目重新结合在一起:
text=items.join(\',\');
将其放回元素中:
$(\"#x\").text(text);
    ,        尝试使用等于5、3或8的
toRemove
尝试此操作,以确保它适用于所有情况:
var toRemove = 3; // the number you want to remove
$(\'#x\').text($(\'#x\').text().replace(new RegExp(toRemove + \',?\'
                                               + \'|,?\' + toRemove + \'$\'),\'\'));
参见示例→     ,        也可以使用jQuery的grep方法:
var toRemove=1; 
$(\'#x\').text( $.grep($(\'#x\').text().split(\',\'),function (a) { return a != toRemove; }).join(\',\'));
要删除多个项目:
var toRemove=[1,8,3]; 
$(\'#x\').text( $.grep($(\'#x\').text().split(\',function (a) { return $.inArray(Number(a),toRemove)<0; })
                       .join(\',\'));
(但我希望使用RegExp解决方案,它应该快得多)     ,        这是一个简单的解决方案,只需要jquery。
function removeFromDiv(which)
{
    var data = $(\"#x\").html();
    data_arr = data.split(\",\");
    for (var i = 0; i < data_arr.length; i++)
    {
        if (data_arr[i] == which)
        {
            data_arr.splice(i,1);
            data = data_arr.join(\",\");
        }
    }
    $(\"#x\").html(data);
}
然后只需运行:
removeFromDiv(\"4\");
    ,        确实不需要比这难得多:
function removeIndexFromX(index) {
  // Build array from comma-delimited content
  var arr = $(\"#x\").text().split(\',\');

  // Remove index (zero-based)
  arr.splice(index,1);

  // Replace
  $(\"#x\").text(arr.join(\',\'));
}

function removeNumberFromX(num) {
  var arr = $(\"#x\").text().split(\',\');
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] === num) {
      arr.splice(i,1);
    }
  }

  $(\"#x\").text(arr.join(\',\'));
}
split
join
的好处是您可以使用它们来管理分隔符(例如逗号)。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?