首页 > 解决方案 > 如何用cheerio 填充选项值列表的索引号?

问题描述

大家好,我正在尝试使用cheerio 从网站获取列表的索引号。例如,“40 - 只剩下一个”的索引号是 2。

我将如何通过只有“40”匹配(只剩下一个)来获得数字 2?

<option value="">Select Size</option>
<option value="2970"> 40 - only one left</option>
<option value="2973"> 41 - only one left</option>
<option value="2976"> 42 - only one left</option>

标签: javascriptnode.jscheerio

解决方案


您可以首先<option>使用cheerio/jQuery 选择器选择:contains文本(文本可以是任何内容),然后调用该函数index以获取其在其父项中的索引:

var index = $("option:contains('40')").index();

注意:该函数index返回一个从 0 开始的 0-indexed 结果,如果您想要 1-indexed 结果,则只需向其添加 1。

演示(使用 jQuery,cheerio 基于):

var index = $("option:contains('40')").index();

console.log(index);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
  <option value="">Select Size</option>
  <option value="2970"> 40 - only one left</option>
  <option value="2973"> 41 - only one left</option>
  <option value="2976"> 42 - only one left</option>
</select>


推荐阅读