【问题标题】:CKEDITOR : Find Text and Put Span tag around the TextCKEDITOR:查找文本并在文本周围放置 Span 标签
【发布时间】:2017-11-11 04:10:24
【问题描述】:

我想知道是否有任何方法可以在 CKEDITOR 中以编程方式查找文本

并在特定文本上放置 SPAN 标签。

我的内容是这样的

<p>This is my co<b>nte</b>nt</p>

我的愿景是找到一个内容文本并在其周围放置一个 span。

如果我要使用 CKEDITOR dom walker,它无法在编辑器中找到 Content 文本。

请任何人给我解决该问题的方法。

提前致谢。

【问题讨论】:

  • 你的代码在哪里,到目前为止你尝试了什么?
  • 我试过这个地方 [jsfiddle](jsfiddle.net/oleq/5my9w) 链接。但我没有构建完整的东西。
  • 我现在也在尝试下面的事情 [stackoverflow.com/questions/10996938/…
  • 刚刚发布了一个答案,看看是否对您有帮助。
  • 如果对你有用,请标记答案

标签: javascript jquery html ckeditor


【解决方案1】:

CKEDITOR.instances.editor1.window.getFrame().$ 为编辑器可编辑区域检索原生 DOM 元素。 所以:

$( CKEDITOR.instances.editor1.window.getFrame().$ ).contents().find( yourelement);

或者如果你想找到一个特定的文本然后

$( CKEDITOR.instances.editor1.window.getFrame().$ ).contents().find( 'span:conatins("your-text")')

应该可以解决你的问题。

还要注意 CKEditor 提供了一个用于 DOM 操作的 API:

CKEDITOR.instances.editor1.document.getById( 'elementID' );
CKEDITOR.instances.editor1.document.getElementsByTag( 'div' );

有关更多文档,请阅读本节 documentation CKEDITOR.instances

【讨论】:

  • 但是,我需要在元素中找到文本
  • 有一个 :contains 选择器可以与 jquery 一起使用,请参见此处 api.jquery.com/contains-selector ,例如 $( CKEDITOR.instances.editor1.window.getFrame().$ ).contents().find( 'span:conatins("your-text")');
  • 好的,我会尝试,我也发布了您现在需要的图片。请参考这个。我正在控制台中尝试您的代码。
  • 我正在尝试上面的事情,但它给出了以下错误。未捕获的错误:语法错误,无法识别的表达式:不支持的伪:在 PSEUDO (jquery-3.2.1.js:1927) 的 Function.Sizzle.error (jquery-3.2.1.js:1580) 的 conatins。你想要屏幕截图吗为此。
  • 我们快到了你有我可以看到的实时链接吗?
猜你喜欢
  • 2013-04-12
  • 1970-01-01
  • 2014-09-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-06
  • 2012-04-20
  • 2011-07-06
  • 1970-01-01
相关资源
最近更新 更多