首页 > 解决方案 > 如何获取 $ (this) .children 内部元素属性的值?

问题描述

有这样一个库代码 Cheerio

let outputTableBody = $('.box.table-quotes table.table tr').each(function(i, elem) {
   let expression = $(this).children('td:nth-child(1)').text();


   if(expression == companyNameArray[ExchangeNameParse]){
     $(this).children('td').each(function(i, elem) {
       if( i == 1 ){
         // do something
         }
       })
     }
})

在这个例子中,我可以提取元素的文本值td——不管那里是否有额外的父元素——文本仍然会被正确提取。

问题:
如果这样的标签 ( td) 包含子标签 a- 我如何href在此构造中提取其属性的值?

标签: javascriptjquerynode.jscheerio

解决方案


您可以使用.find方法获取当前匹配元素集中每个元素的后代,由选择器过滤 -a在这种情况下:

...
const link = $(this).find('a').attr('href');
...

推荐阅读