Как я могу нарезать элемент с MooTools? - PullRequest
1 голос
/ 01 января 2012

Как я могу нарезать элементы с mootools ? например, я хочу ввести «</ul><ul>» (не <ul></ul>) перед всеми «li», которые имеют дочерний «span». исходный код:

<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>

Спасибо за любую помощь

1 Ответ

1 голос
/ 09 января 2012

Здесь возможна реализация функции слайса для класса элемента mootools:

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...