javascript - 对用户选择的 HTML 文件使用 DOM 方法

标签 javascript html file dom

有没有办法在用户选择的文件上使用 DOM 方法,例如 getElementById("id")getElementsByTagName("tag")

我的程序让用户选择一组以特定方式格式化的 HTML 文件,当将其视为一个大字符串时,搜索起来有些困难,但如果我可以使用 DOM 方法,就会非常容易。

我目前正在使用 HTML5 File API 获取 FileListFileReader 对象来解析文件并创建字符串。

是否可以使用 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/

相关文章:

javascript - JS : Run a keyboard command from JavaScript

javascript insideHTML 无法在 ASP.NET Web 表单中工作

html - Bootstrap 表格必填字段

unix - 如何在 Unix Shell 脚本中用 SED 替换同一文件中的行?

javascript - 为什么 JavaScript 控制台说我的变量未定义,即使我之前定义了两行?

javascript - 在多个输入字段中输入不同的数字如何在javascript中自动添加

javascript - 尝试用 Javascript 制作一个简单的 Tic Tac Toe 游戏作为作业。没有错误,但是当我单击框时没有任何反应

html - 将导航栏链接居中并与 Logo 保持垂直对齐

django - 如何从 Django 中的 View 生成 (html) 文件

c++ - 打开当前目录中的文件