javascript - JavaScript 有类似 simple_html_dom.php 的东西吗?

标签 javascript parsing dom titanium appcelerator

我正在使用 Appcelerator Titanium 构建一个 iPhone 应用程序,我需要将一个 HTML 字符串(可能包含无效的 HTML,如缺少标签,这不是我的错)转换为 DOM 对象。在这个 DOM 元素中,我需要找到一个特定的 <div> , 并把这个 <div> 的内容在 Web View 中。

无论如何,我正在寻找类似 Simple HTML DOM 的东西用于 PHP 的脚本,用于在 DOM 中搜索此 <div> .我希望脚本扫描(无效的)HTML 字符串,并获取 <div> 的 innerHTML .

如何在 JavaScript 中最好地做到这一点?

最佳答案

下面的代码是基本的字符串到 DOM 转换器。有关详细说明,请参阅链接的答案。

function string2dom(html, callback){    
    /* Create an IFrame */
    var iframe = document.createElement("iframe");
    iframe.style.display = "none";
    document.body.appendChild(iframe);

    var doc = iframe.contentDocument || iframe.contentWindow.document;
    doc.open();
    doc.write(html);
    doc.close();

    function destroy(){
        iframe.parentNode.removeChild(iframe);
    }
    if(callback) callback(doc, destroy);
    else return {"doc": doc, "destroy": destroy};
}

此代码片段不会清理 HTML。脚本将被执行,外部资源将被加载。可以在 this answer 找到代码的解释和 HTML sanitiser。

用法(示例), fiddle :http://jsfiddle.net/JFSKe/ :

string2dom("<html><head><title>Test</title></head></html>", function(doc, destroy){
    alert(doc.title); /* Alert: "Test" */
    destroy();
});

var test = string2dom("<div id='secret'></div>");
alert(test.doc.getElementById("secret").tagName); /* Alert: "DIV" */
test.destroy();

关于javascript - JavaScript 有类似 simple_html_dom.php 的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7786045/

相关文章:

javascript - 如何以编程方式获取配置选项?

javascript - 如何获取google api图表柱形图中的vaxis线?

javascript - 按一天更改日期 Datetimepicker 插件

python - ConfigObj 获取包含子部分的部分列表的方法

swift - 如何调用这样的快速函数?

javascript:交换 DOM 节点

javascript - 在 for 循环内循环 - 嵌套数组

php - parse_ini_file 将数值转换为字符串

javascript - jQuery 通过属性值获取/选择元素

javascript - 如何检测是否没有鼠标悬停?