2017-07-07 144 views
2

我有一個插件,允許我從div中刪除樣式。 我想刪除div標籤。如何刪除div標籤?

眼下插件來實現這個動作:

<div class="GCO9_TDM"><p>text</p></div> --> <div><p>text</p></div> 

這是我的插件的代碼:

CKEDITOR.plugins.add('supprimerDivision', { 
 
icons: 'supprimerDivision', 
 
    init: function(editor) { 
 

 
     editor.addCommand('supprimerDivision', { 
 
      exec: function(editor) { 
 

 
       var element = editor.getSelection().getStartElement(); 
 
        while (element) { 
 
         if (element.getName() == 'div') { 
 
          element.setAttribute('class', ''); 
 
          break; 
 
         } 
 

 
         element = element.getParent(); 
 
        } 
 
      } 
 
     }); 
 
       
 
     editor.ui.addButton('supprimerDivision', { 
 
      label: 'supprime la division', 
 
      command: 'supprimerDivision', 
 
      toolbar: 'insert' 
 
     }); 
 
    } 
 
});

謝謝,有一個美好的一天。

編輯:我的HTML代碼

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <meta charset="utf-8"> 
 
     <meta http-equiv="cache-control" content="no-cache"> 
 
     <title>Editeur</title> 
 
     <script type="text/javascript" src="ckeditor/ckeditor.js"></script> <!-- emplacement de ckeditor --> 
 
     <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
 
    </head> 
 
    <body> 
 

 
     <form action="enregistrementBDD.php" method="post"> 
 
      <textarea id="editor" name="editor">  
 

 
      </textarea> 
 
      <script> 
 
       CKEDITOR.replace('editor', {  //remplace le textarea par une instance de ckeditor 
 
         height: 600,    //taille de la fênetre 
 

 
         allowedContent: true, //permet de définir des règles de contenu autorisé (true désactive le filtre) 
 

 
         //startupOutlineBlocks: true, //autorise le plugin showblock a être actif dès le lancement 
 

 
         toolbarCanCollapse: true, //permet de cacher la barre d'outil via un bouton situé en bas à droite des menus 
 

 

 
         extraPlugins: 'espace,'+ 
 
         'ckeditor_wiris,'+ 
 
         'dropdownmenumanager,'+ 
 

 
         'raccourciClavier,'+ 
 
         'supprimerStyle,'+ 
 
         'supprimerDivision,'+ 
 

 
         
 

 
         'GCO12_DocIll,'+ 
 
         'SLT2_Num_XXX1_DocIll,'+ 
 
         'STI1_Titre_XXX1_DocIll', 
 

 
         //fullPage: true, //page HTML complète avec balise <html>, <head>, <body>... 
 
       }); 
 
      </script> 
 
     </form> 
 

 
    </body> 
 
</html>

回答

0

我已經嘗試此代碼,但它現在的工作,這裏是解決方案

CKEDITOR.plugins.add('supprimerDivision', { 
 
icons: 'supprimerDivision', 
 
    init: function(editor) { 
 

 
     editor.addCommand('supprimerDivision', { 
 
      exec: function(editor) { 
 

 
       var element = editor.getSelection().getStartElement(); 
 
        while (element) { 
 
         if (element.getName() == 'div') { 
 
          element.setAttribute('class', ''); 
 
          element.remove("div"); 
 
          break; 
 
         } 
 

 
         element = element.getParent(); 
 
        } 
 
      } 
 
     }); 
 
       
 
     editor.ui.addButton('supprimerDivision', { 
 
      label: 'supprime la division', 
 
      command: 'supprimerDivision', 
 
      toolbar: 'insert' 
 
     }); 
 
    } 
 
});

0
CKEDITOR.plugins.add('supprimerDivision', { 
icons: 'supprimerDivision', 
    init: function(editor) { 

     editor.addCommand('supprimerDivision', { 
      exec: function(editor) { 
       var parent; 
       var element = editor.getSelection().getStartElement(); 
       while (element) { 
         if (element.getName() == 'div') { 
          element.setAttribute('class', ''); 
          parent = element.parentElement; 
          elementContent = element.innerHTML ; 
          parent.removeChild(element); 
          parent.appendChild(elementContent); 

          break; 
         } 
         element = element.getParent(); 
       } 
      } 
     }); 

     editor.ui.addButton('supprimerDivision', { 
      label: 'supprime la division', 
      command: 'supprimerDivision', 
      toolbar: 'insert' 
     }); 
    } 
}); 

這將刪除DIV標籤,並保持在頁面的內容。希望這會起作用。

+0

我有這樣的錯誤:遺漏的類型錯誤:無法讀取屬性「removeChild之」的未定義 – DakaYd0

+0

這意味着那'element.parentElement'什麼也沒有返回。我們能否看到您的HTML頁面? – sjahan

+0

我修改了我的帖子 – DakaYd0