如何使用 mootools 对元素进行切片?

发布于 2024-12-23 15:24:44 字数 1585 浏览 0 评论 0原文

如何使用 mootools 对元素进行切片? 例如我想在所有“li”之前注入“

    ”(不是
      )一个“跨度”孩子。 源代码:

    <ul>
    
       <li>
           <a></a>
       </li>
    
       <li>
           <a></a>
       </li>
    <!-- i want insert "</ul><ul>" Here -->
       <li> 
           <span></span>
       </li>
    
       <li>
          <a></a>
       </li>
    
       <li>
         <a></a>
       </li>
    
       <li>
         <a></a>
       </li>
    
    <!-- i want insert "</ul><ul>" Here--> 
       <li>
          <span></span>
       </li>
    
       <li>
          <a></a>
       </li>
    
       <li>
          <a></a>
       </li>
    
    </ul>
    

    输出:

    <ul>
    
           <li>
               <a></a>
           </li>
    
           <li>
               <a></a>
           </li>
    </ul>
    
    <ul>
           <li> 
               <span></span>
           </li>
    
           <li>
              <a></a>
           </li>
    
           <li>
             <a></a>
           </li>
    
           <li>
             <a></a>
           </li>
    
    </ul>
    
    <ul>
           <li>
              <span></span>
           </li>
    
           <li>
              <a></a>
           </li>
    
           <li>
              <a></a>
           </li>
    
        </ul>
    

    感谢您的帮助

    How can I slice elements with mootools?
    for example I want to inject "</ul><ul>" (not<ul></ul>) before all "li" that have a "span" child.
    source code:

    <ul>
    
       <li>
           <a></a>
       </li>
    
       <li>
           <a></a>
       </li>
    <!-- i want insert "</ul><ul>" Here -->
       <li> 
           <span></span>
       </li>
    
       <li>
          <a></a>
       </li>
    
       <li>
         <a></a>
       </li>
    
       <li>
         <a></a>
       </li>
    
    <!-- i want insert "</ul><ul>" Here--> 
       <li>
          <span></span>
       </li>
    
       <li>
          <a></a>
       </li>
    
       <li>
          <a></a>
       </li>
    
    </ul>
    

    output :

    <ul>
    
           <li>
               <a></a>
           </li>
    
           <li>
               <a></a>
           </li>
    </ul>
    
    <ul>
           <li> 
               <span></span>
           </li>
    
           <li>
              <a></a>
           </li>
    
           <li>
             <a></a>
           </li>
    
           <li>
             <a></a>
           </li>
    
    </ul>
    
    <ul>
           <li>
              <span></span>
           </li>
    
           <li>
              <a></a>
           </li>
    
           <li>
              <a></a>
           </li>
    
        </ul>
    

    Thanks for any help

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(1

    擦肩而过的背影 2024-12-30 15:24:44

    以下是 mootools Element 类

    Element.implement({
        'slice' : function(keys) {
            var keys = Array.from(keys),
                newParent = false;
            this.getChildren().each(function(child) {
                if(keys.contains(child)) {
                    newParent = new Element(this.get("tag"))
                        .inject(newParent?newParent:this, "after");
                }
                if(newParent) 
                    newParent.adopt(child);
    
            }, this);
        }
    });
    window.addEvent("domready", function() {
        $("toSlice").slice($(".keyElt"));
    });
    

    及其 jsfiddle 的切片函数的可能实现:
    http://jsfiddle.net/cFukg/1/

    Here would be a possible implementation of a slice function for the mootools Element class:

    Element.implement({
        'slice' : function(keys) {
            var keys = Array.from(keys),
                newParent = false;
            this.getChildren().each(function(child) {
                if(keys.contains(child)) {
                    newParent = new Element(this.get("tag"))
                        .inject(newParent?newParent:this, "after");
                }
                if(newParent) 
                    newParent.adopt(child);
    
            }, this);
        }
    });
    window.addEvent("domready", function() {
        $("toSlice").slice($(".keyElt"));
    });
    

    and its jsfiddle :
    http://jsfiddle.net/cFukg/1/

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文