Javascript 如何从无序列表中删除包含特定链接属性的列表元素

Javascript 如何从无序列表中删除包含特定链接属性的列表元素,javascript,jquery,Javascript,Jquery,我有这个无序列表,我想获取无序列表的列表元素内的链接元素的数据文件属性值,然后删除它所在的整个列表元素(如果它不在数组z中) <ul id="hithere"class="image-list"> <li class='image-list'> <div class='controls'> <a href='#' class='image-list' data-name='myname'><img src=

我有这个
无序列表
,我想获取无序列表的列表元素内的链接元素的数据文件属性值,然后删除它所在的整个列表元素(如果它不在数组z中)

<ul id="hithere"class="image-list">
   <li class='image-list'>
      <div class='controls'>
         <a href='#' class='image-list' data-name='myname'><img src='stop.png' ></a>
      </div>
      <span class='name'>myname12</span
   </li>
   <li class='image-list'>
      <div class='controls'>
         <a href='#' class='image-list' data-name='myname2'><img src='stop.png' ></a>
      </div>
      <span class='name'>myname1312</span
   </li>
</ul>
以下是从服务器接收的代码:

var box = $('#drone');


box.f_drop({
    url: 't_file.php',

    check_data:function(i,file,response){
     z=[];z.push(response.Oname);


        $("li.image-list  ").filter( function () {
         return $.inArray($(this).find('a[data-name]').attr('data-name'), z) == -1
        }).remove();

    },


});

为什么现在所有的列表都被删除了,而不是仅仅删除一个,即不在数组中的列表??另外,如何重命名数据名属性,改为“xyz”。

脚本中几乎没有问题

  • 该数组称为z not_out
  • 锚元素没有类
  • 数据属性称为name,而不是filename
试一试


演示:

\u out
z
?哪一个?你好,Blacksheep,我刚刚重新编辑了它。谢谢Arun。它在独立页面上工作,但为什么当我从服务器响应中获取数组z时,所有列表都消失了。这是我想要进行更改的时候。同时,我的列表在进行更改之前是动态创建的。
var box = $('#drone');


box.f_drop({
    url: 't_file.php',

    check_data:function(i,file,response){
     z=[];z.push(response.Oname);


        $("li.image-list  ").filter( function () {
         return $.inArray($(this).find('a[data-name]').attr('data-name'), z) == -1
        }).remove();

    },


});
var z = ["myname", "yourname"];
$("li.image-list").filter(function () {
    return $.inArray($(this).find('a[data-name]').attr('data-name'), z) == -1
}).remove();