有没有办法在用户选择的文件上使用 DOM 方法,例如 getElementById("id")
或 getElementsByTagName("tag")
?
我的程序让用户选择一组以特定方式格式化的 HTML 文件,当将其视为一个大字符串时,搜索起来有些困难,但如果我可以使用 DOM 方法,就会非常容易。
我目前正在使用 HTML5 File API 获取 FileList
和 FileReader
对象来解析文件并创建字符串。
是否可以使用 DOM 方法,或者是否有更好的方法来解析选定的 HTML 文件?像 JSoup 这样的库会很有帮助,JavaScript 中有类似的东西吗?
最佳答案
根据 MDN,使用 text/html
作为类型的 DOMParser
没有很好的兼容性,它似乎仍然可以很好地解析 application/xml
提供 HTML 时。这是一个例子:
var parser = new DOMParser(),
str = "<!DOCTYPE html><html><head><title>Test</title></head><body><div id='div1'>asdf</div></body></html>",
doc = parser.parseFromString(str, "application/xml");
console.log(doc.getElementById("div1").textContent);
演示: http://jsfiddle.net/8AzBp/1/
引用:
关于javascript - 对用户选择的 HTML 文件使用 DOM 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18151916/