Get 在tinymce编辑器中获取选定的html内容

Get 在tinymce编辑器中获取选定的html内容,get,tinymce,Get,Tinymce,我已经用这个代码创建了一个自定义按钮 setup : function(ed) { ed.addButton('Tittle', { title : 'Tittle', image : './images/T.jpg', onclick : function() { ed.focus(); var c = ed.selection

我已经用这个代码创建了一个自定义按钮

    setup : function(ed) {
    ed.addButton('Tittle', {
                title : 'Tittle',
                image : './images/T.jpg',
                onclick : function() {
                ed.focus();
            var c = ed.selection.getNode().nodeName;
        if(c!="TITTLE")
        {
             ed.selection.setContent('<tittle>' + ed.selection.getContent() + '</tittle>');

        }
        else
        {

        }
}
        });
设置:功能(ed){
ed.addButton(“标题”{
标题:"标题",,
图像:'./images/T.jpg',
onclick:function(){
ed.focus();
var c=ed.selection.getNode().nodeName;
如果(c!=“title”)
{
ed.selection.setContent(“”+ed.selection.getContent()+“”);
}
其他的
{
}
}
});
当用户选择一个文本并单击“新建”按钮时,如果
标记不是他们的,我想在开头和结尾添加一个
标记。如果
标记在所选文本中已经是他们的标记,我想删除标记

selection.getContent({format : 'text'});

编辑:要实现您的目标,您可以执行以下操作:

if(c!="TITTLE") {

  node = ed.selection.getNode();

  with(document.getElementById(iframe_id).contentWindow){
      var newElement = document.createElement("tittle");
      newElement.innerHTML = node.innerHTML;
  }

  node.parentNode.replaceChild(newElement, node);

}
else {

  node = ed.selection.getNode();

  with(document.getElementById(iframe_id).contentWindow){
      var newElement = document.createTextNode(node.innerHTML);
  }

  node.parentNode.replaceChild(newElement, node);
}

谢谢Thariama。但是如果我选择一个带有相同标记的文本,它只会给出文本。如果我选择一个带有两个不同标记的文本,它会给出带有内容的html。嗯,这可能是因为在第一种情况下,选择只会包含文本,但在第二种情况下,中间有标记(在选择中)。它会给出完整的html(完整标记)吗?你正在使用标签获取完整的html。一个不太好的方法可能是扩大选择范围以获取标签,然后再进行剪切。标签不是我创建的html标签。如果我选择了一个具有有效html标签的内容,则整个html将出现
if(c!="TITTLE") {

  node = ed.selection.getNode();

  with(document.getElementById(iframe_id).contentWindow){
      var newElement = document.createElement("tittle");
      newElement.innerHTML = node.innerHTML;
  }

  node.parentNode.replaceChild(newElement, node);

}
else {

  node = ed.selection.getNode();

  with(document.getElementById(iframe_id).contentWindow){
      var newElement = document.createTextNode(node.innerHTML);
  }

  node.parentNode.replaceChild(newElement, node);
}
var node = tinyMCE.activeEditor.selection.getContent();
tinyMCE.execCommand('mceReplaceContent', false, %your value, can use node%");