我在我的应用程序中使用CKEDITOR 4。
这里我有一个特定类型的标签,假设是“TagX”。
我只需要给那些没有id的TagX标签添加一个'id‘属性。
我使用以下命令进行了验证:
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。
发布于 2013-02-11 21:10:49
为什么不使用$('tagx'),然后在显示时使用$(this)来做你的员工呢?
因此,让我们将任务交给jquery,如下所示
var i=0;
$('tagx').each(function(){
i++;
$(this).attr('id','id_'+i);
});关于您的其他评论的编辑
让我们测试一下:not([id])是否
var i=0;
$('tagx:not([id])').each(function(){
i++;
$(this).attr('id','id_'+i);
});发布于 2013-02-14 14:03:00
最后,我已经更新了我的代码如下,它满足了我的要求…
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);
});谢谢你的回答..。
https://stackoverflow.com/questions/14812161
复制相似问题