首页 > 解决方案 > Javascript 解析 HTML 并查找元素

问题描述

注意:我在 chrome 控制台上运行它!

使用 jQuery 解析 html 后,我无法获取元素

var ar = document.getElementsByClassName("row")[4].getElementsByClassName("well result-box nomargin");
for (var i = 0; i < ar.length; i++) {
  try {
    var html = ar[i].getElementsByTagName("a")[2].getAttribute("href");
    $.ajax({
      url: html,
      success: function(result) {
        var resultHTML = $.parseHTML(result);
        // Here the HTML is parsed
      }
    });
  } catch {
    console.log(i);
  }
}

问题现在正在发生,当我尝试在解析的 HTML 中获取它时

.getElementsByClassName("well result-box nomargin")[0].getElementsByTagName("h2")[0].getElementsByTagName("a")[1].getAttribute("href").split("family/")[1];

我试过$.find了,$.attr但它不起作用。

ajax 结果:https ://hastebin.com/arelirobap.xml

标签: javascriptjqueryhtmlhtml-parsing

解决方案


如果使用 jquery selector() 以正确的顺序指定它们,则可以选择多个类。例子:$('.class1 .class2').html()


推荐阅读