Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – CheerioJS,循环使用相同的类名大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正试图遍历每个< ul>并获得每个< li>的值.问题是,它只需要第一个< ul>并跳过其余部分.

HTML

<div id="browse-results">
    <ul class="tips cf">
        <li>tip11</li>
        <li>tip12</li>
        <li>tip13</li>
    </ul>
    <ul class="tips cf">
        <li>tip21</li>        
        <li>tip22</li>        
        <li>tip23</li>        
    </ul>
    <ul class="tips cf">
        <li>tip31</li>        
        <li>tip32</li>        
        <li>tip33</li>        
    </ul>
    <ul class="tips cf">
        <li>tip41</li>        
        <li>tip42</li>        
        <li>tip43</li>        
    </ul>
</div>

Cheerio解析

$('#browse-results').find('.tips.cf').each(function(i,elm) {
    console.log($(this).text()) // for tesTing do text() 
});

$('#browse-results').children().find('.tips').each(function(i,elm) {
    console.log($(this).text())
});
I've tried many more

输出只是第一个< ul>的值.

tip11
tip12
tip13

请注意,这只是一个片段示例,其结构与我正在尝试解析的内容相同.

我花了将近2个小时,我找不到办法.

解决方法

试试这个:

var cheerio = require('cheerio');

var html = '<div id="browse-results"> \
    <ul class="tips cf"> \
        <li>tip11</li> \
        <li>tip12</li> \
        <li>tip13</li> \
    </ul> \
    <ul class="tips cf"> \
        <li>tip21</li> \
        <li>tip22</li> \
        <li>tip23</li> \
    </ul> \
    <ul class="tips cf"> \
        <li>tip31</li> \
        <li>tip32</li> \
        <li>tip33</li> \
    </ul> \
    <ul class="tips cf"> \
        <li>tip41</li> \
        <li>tip42</li> \
        <li>tip43</li> \
    </ul> \
</div>';

var $= cheerio.load(html);

$('#browse-results li').each(function(i,elm) {
    console.log($(this).text()) // for tesTing do text() 
});

这将选择所有li元素,这些元素是#browse-results的后代.

大佬总结

以上是大佬教程为你收集整理的node.js – CheerioJS,循环使用相同的类名全部内容,希望文章能够帮你解决node.js – CheerioJS,循环使用相同的类名所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。