【发布时间】:2013-03-03 13:58:47
【问题描述】:
我正在编写一个插件,它将表情符号转换为特定站点的文本块中的图像。简单的答案是使用正则表达式检测 innerHTML 上的触发文本并插入 img 标签,然后将字符串通过管道返回到 innerHTML 部分中的 dom 元素。 DOM 元素块可能已经在 innerHTML 部分中具有锚点<a> 和/或文本格式<b>,<i>,<u>。
例如
var textBlock = pItems[i].innerHTML;
var kissSource = 'https://mail.google.com/mail/e/35D';
textBlock = textBlock.replace(/(^|[^<]|[^>]):\*/g, "<img class='emoticon' src='" + kissSource + "' />");
--> pItems[i].innerHTML = textBlock; //<-can I avoid this to be in compliance with Mozilla addons reqmnts
我搜索了好几个小时来了解如何将 DOM(或 HTML 字符串)转换为 XML(我知道:HTML!=XLM How to read HTML as XML?,但可能是 div 的一部分?)反过来可以转换到 JSON 反过来.. 可以转换回 DOM 以下: https://developer.mozilla.org/en-US/docs/XUL/School_tutorial/DOM_Building_and_HTML_Insertion?redirectlocale=en-US&redirectslug=XUL_School%2FDOM_Building_and_HTML_Insertion#JSON_Templating
我不知道 jQuery,所以如果有可能使用 javascript,那将是理想的。
我是否应该在不针对 innerHTML 运行正则表达式的情况下解决这个问题,从而避免问题?
非常感谢,珍娜
【问题讨论】:
标签: javascript xml-serialization firefox-addon