首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ckeditor中查找并替换html(不仅仅是文本)?

在ckeditor中查找并替换html(不仅仅是文本)?
EN

Stack Overflow用户
提问于 2013-02-11 20:42:26
回答 2查看 1.5K关注 0票数 2

我在我的应用程序中使用CKEDITOR 4。

这里我有一个特定类型的标签,假设是“TagX”。

我只需要给那些没有id的TagX标签添加一个'id‘属性。

我使用以下命令进行了验证:

代码语言:javascript
复制
content = EditorInstance.getData();
var pattRegex = /<(tagx)(?![^<>]*\bid=).*?<\/\1>/gi;
var arrTagsX = content.match(pattRegex);
for (i = 0; i < arrTagsX.length; i++) {
    content = content.replace("<tagx", <tagx id=\"id_" + i + "\"");
}
EditorInstance.setData(content);

它工作得很好,但是内容很大,所以我想避免使用setData();

我想要一些东西来找到html (不仅仅是文本),并用html+id替换html。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-11 21:10:49

为什么不使用$('tagx'),然后在显示时使用$(this)来做你的员工呢?

因此,让我们将任务交给jquery,如下所示

代码语言:javascript
复制
var i=0;
$('tagx').each(function(){
   i++;
   $(this).attr('id','id_'+i);
});

关于您的其他评论的编辑

让我们测试一下:not([id])是否

代码语言:javascript
复制
var i=0;
$('tagx:not([id])').each(function(){
       i++;
       $(this).attr('id','id_'+i);
});
票数 3
EN

Stack Overflow用户

发布于 2013-02-14 14:03:00

最后,我已经更新了我的代码如下,它满足了我的要求…

代码语言:javascript
复制
rootElement = EditorInstance.document.getElementsByTag("rootEle").getItem(0);
var tagxEle = rootElement.$.getElementsByTagName('tagx');
var i=0;
 $(tagxEle).not('[id]').each(function(){
    i++;                                        
    $(this).attr('id','tagx_'+i);
 });

谢谢你的回答..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14812161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档