jQuery技术:删除2个类和节点属性的div

想象一下,我们有一些这样的div

Chapter 1
Section 1

Ajax接受必须删除的节点数组。 我对此几乎没有提问

1)我正在使用以下function

  $.each(result['nodes'], function(column, node)){ $(".row."+column).slideUp("slow").remove(); } 

我无法弄清楚如何通过2个类和节点属性删除。 怎么做?

2)AFAIK $ .each函数逐个删除。 是否可以一次删除所有内容? 3)如何处理validation问题? 我的意思是,

    由于对象只有键值对,因此为了处理两个类和一个属性,您必须更改JSON的结构。 我建议将其更改为[{“class1”:“foo”,“class2”:“bar”,“node”:1}]。 使用该格式,这将用于收集节点:

     $($.map(result['nodes'], function(o) { return "."+o.class1+"."+o.class2+"[node="+o.node+"]"; }).join(",")) 

    正如约瑟夫所说,你的原始代码将很快删除节点,因此你需要将remove()放入一个参数slideUp()

     $($.map(result['nodes'], function(o) { return "."+o.class1+"."+o.class2+"[node="+o.node+"]"; }).join(",")).slideUp("slow", function() { $(this).remove() }); 

    示例jsFiddle: http : //jsfiddle.net/tSu8z/

    请注意,实际上没有“一个接一个”与“一下子”的区别。 使用上面的代码,jQuery获得了同时向上滑动节点的顺序,但在内部它将遍历节点。 同样,节点很可能都会同时被删除,但jQuery实际上是在迭代它们。 它同时看的唯一要求是使slideUp异步,就是这样。

    您可以使用数组收集选择器,加入它们并一次使用remove all。

     var toRemove = []; $.each(result['nodes'], function(index, value){ toRemove.push('.row.'+index+'[node='+value+']'); } //$('.row.chapter[node=1], .row.section[node=1]') $(toRemove.join(',')).slideUp("slow",function(){ $(this).remove() }); 

      以上就是jQuery教程分享删除2个类和节点属性的div相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/541226.html

      (0)
      上一篇 2021年1月3日
      下一篇 2021年1月3日

      精彩推荐