由于JScript是Java的Microsoft ES3变体“浏览器外”,因此很难将HTML字符串解析为对象来完成一些简单的事情。
如前所述,JScript并不驻留在浏览器中,因此它没有标准的文档类型,也没有domparser。
我可以这样创建一个文档对象:
var document = new ActiveXObject('htmlfile')
document.innerHTML = http.responseText
尽管这会将html响应呈现到文档中,但我不能使用getElementsByClassName,TagName甚至ID来使用-这正是我要处理的html响应(上面提到的那些)所要做的。
我已经尝试使用John Resig的“纯JavaScript HTML解析器”,但是它无法在ES3中运行,并且我对JScript / ES3并不精通,无法理解为什么。
https://johnresig.com/blog/pure-javascript-html-parser/
最终,我想解析文档对象中的HTML文件,并能够按其类,id,标记名等提取元素。对我来说,这听起来应该很容易,但事实并非如此。
任何帮助将不胜感激。
答案 0 :(得分:1)
getElementById
和getElementsByTagName
似乎有效:
var document = new ActiveXObject('htmlfile');
document.open();
document.write('<html><div id="div1" class="class1">test</div></html>');
document.close();
WScript.Echo(document.getElementById("div1").id);
WScript.Echo(document.getElementsByTagName("div")[0].id);
WScript.Echo(document.getElementsByTagName("div")[0].className);