2017-07-07 118 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