使用jQuery操作TinyMCE内容

使用TinyMCE,我可以轻松地操作内容并将其发送回编辑器,如下所示:

// get content from tinyMCE var content = tinyMCE.get('content').getContent(); // manipulate content using js replace content = content.replace(//gi, ''); // send back to tinyMCE tinyMCE.get('content').setContent( content ); 

上面的代码工作正常。 但是,我不能让它工作:

  // get content from tinyMCE (it provides an html string) var content = tinyMCE.get('content').getContent(); // make it into a jQuery object var $content = $(content); // manipulate the jquery object using jquery $content = $content.remove('a'); // use a chained function to get its outerHTML content = $("
").append( $content.clone() ).html(); // send back to tinyMCE tinyMCE.get('content').setContent( content );

我的方法有问题吗?

设置和获取TinyMCE是正确的; 问题在于我使用.remove()

 $content = $content.remove('a'); 

由于来自TinyMCE的内容是单个对象,而不是一些对象的集合,其中一些是标签,因此该操作无效,并且返回的html与原始相同。

为了删除链接,我需要这样做:

 $content = $content.find('a').remove(); 

我收到了这个post的澄清: $(’#foo’)。remove(’a’)和$(’#foo’)之间的区别.find(’a’)。remove()

您需要使用编辑器内容

 var content = $('#content').html(); 

并使用设置内容

 var content = $('#content').html('NEW CONTENT');