JQuery:在解析的HTML中无法识别元素

问题描述 投票:0回答:1

我正在制作一个节点应用程序,需要从Web请求中识别特定元素。我能够从请求中下载原始字符串,但是当我尝试从解析的html中查找元素时,它返回'.whateverelement不是函数'。

var coolElements = [];
request('https://google.com', (error, response, htmlString) => {   
    if (!error && response.statusCode == 200) {
        var html = $.parseHTML(htmlString);

        html.find('.whateverelement').each(function(i) {
            coolElements.append($(this).text());
        });
    }
});
javascript jquery node.js
1个回答
0
投票

来自jQuery文档:

jQuery.parseHTML()描述:将字符串解析为DOM节点数组。 https://api.jquery.com/jquery.parsehtml/

它返回一个数组,你试图根据查询选择器找到该数组中的元素:html.find('.whateverelement')。它返回.whateverelement不是函数,因为数组中的find方法将函数作为参数。

你可能想要使用像var html = $(htmlString);这样的东西,它应该返回一个带有解析HTML的jQuery元素,但是如果你想在服务器端运行jQuery(nodejs),我建议你看看https://github.com/cheeriojs/cheerio

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.