带有Cheerio内部单元格内的HTML的解析文本



我有一个看起来像这样的html表:

<tr class="row-class" role="row">
    <td>Text1</td>
    <td>
        <form method='get' action='http://example.php'> 
            <input type='hidden' name='id_num' value='ABCD123'> <!-- < I NEED THIS VALUE -->
            <button type='submit' class='btn' title='Check' ></button> 
        </form>
    </td>  
</tr>

我想获得名为 id_num的隐藏输入类型的值。

我试图用这样的Cheerio解析代码:

var $ = cheerio.load(body);
$('tr').each(function(i, tr){
    var children = $(this).children();
    var x       = children.eq(0);
    var id_num  = children.eq(1);
    var row = {
        "x":        x.text().trim(),     //this is correct, value is Text1
        "id_num":   id_num.text().trim() //This is empty, value is "", I want the value "ABCD123"
    };
});

,但我只能获得第一个值正确。

如何从隐藏的输入元素id_num

中获取值

谢谢。

应该是:

$(tr).find('[name="id_num"]').attr('value')

您的 eq(1)获得了整个<tr>,请尝试以下操作:

$('tr').each(function(i, tr){
      var children = $(this).children('td');
      var x        = $(children[0]);
      var id_num   = $(children[1]).find("input[name='id_num']");
      var row = {
          "x":        x.text(),
          "id_num":   id_num.val()
      };
}

最新更新