是否有类似于JavaScript的simple_html_dom.php的东西?
我正在使用Appcelerator Titanium构建一个iPhone应用程序,我需要将一个HTML字符串(可能包含无效的HTML,比如缺少标记,这不是我的错)转换为DOM对象。在这个DOM元素中,我需要找到一个特定的是否有类似于JavaScript的simple_html_dom.php的东西?,javascript,parsing,dom,titanium,appcelerator,Javascript,Parsing,Dom,Titanium,Appcelerator,我正在使用Appcelerator Titanium构建一个iPhone应用程序,我需要将一个HTML字符串(可能包含无效的HTML,比如缺少标记,这不是我的错)转换为DOM对象。在这个DOM元素中,我需要找到一个特定的,并将这个的内容放在一个WebView中 无论如何,我正在寻找类似PHP脚本的东西,在DOM中搜索这个。我希望脚本扫描(无效)HTML字符串,并获取的内部HTML 如何在JavaScript中最好地做到这一点?下面的代码是基本的字符串到DOM转换器。有关详细说明,请参见链接答案
,并将这个
的内容放在一个WebView中
无论如何,我正在寻找类似PHP脚本的东西,在DOM中搜索这个
。我希望脚本扫描(无效)HTML字符串,并获取
的内部HTML
如何在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。将执行脚本,并加载外部源。有关代码和HTML消毒剂的说明,请访问
用法(示例),Fiddle::
string2dom(“测试”,功能(文档,销毁){
警报(文件标题);/*警报:“测试”*/
破坏();
});
var测试=string2dom(“”);
警报(test.doc.getElementById(“secret”).tagName);/*警报:“分区”*/
test.destroy();
谢谢您的回复。但是,Tianium无法识别文档
属性,因为它不存在。是否可以用另一种方式将字符串转换为DOM?Tianium不提供任何DOM方法。如果您想要的文档片段结构良好,那么使用RegExp不会有什么坏处。否则,我建议看一下Appcelerator Q&a:
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();