gpt4 book ai didi

javascript - 使用 parseFragment 在 firefox 插件中解析 HTML

转载 作者:行者123 更新时间:2023-11-29 22:25:39 24 4
gpt4 key购买 nike

这是 parseFunction

Ajax:
{
ParseHTML: function(aHTMLString)
{
var html = document.implementation.createDocument("http://www.w3.org/1999/xhtml", "html", null),
body = document.createElementNS("http://www.w3.org/1999/xhtml", "body");
html.documentElement.appendChild(body);

body.appendChild(Components.classes["@mozilla.org/feed-unescapehtml;1"]
.getService(Components.interfaces.nsIScriptableUnescapeHTML)
.parseFragment(aHTMLString, false, null, body));

return body;
}
}

我在这里尝试在 http 响应中使用解析(以清理代码):

var newdoc = Ajax.ParseHTML(o.responseText);

但是,当我尝试使用时:

newdoc.getElementById('teste');

它返回错误:TypeError: newdoc.getElementById is not a function

我做错了什么吗?它与 documentType 或其他什么有关?

此外,此函数删除了 a 标签中的所有 href="" 属性,例如,可能问题与...有关

最佳答案

getElementById 仅在 document 对象上定义,因为 ID 在文档中必须是唯一的。因此,在元素对象上定义 getElementById 没有意义。

以下方法将起作用:

newdoc.querySelector('#teste');
newdoc.ownerDocument.getElementById('teste');

至于创建文档,你可能是interested in the DOMParser , 或者想使用 document.implementation.createHTMLDocument (使用 HTML)。

关于javascript - 使用 parseFragment 在 firefox 插件中解析 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9618627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com