javascript - 尝试使用 jQuery 获取表中 img src 和 'star rating' 列的选择器

标签 javascript jquery html web-scraping

我正在尝试运行一些 javascript/jQuery 来基本上从以下格式的表中抓取数据。 我已经完成了大部分工作,但是我还尝试获取以下数据:-

a) Logo 列(第一列) - 图像源,例如 '/static/FIFA16/images/crest/50/light/21.png' b) “星级”列(最后一列),这没有数字评级,而是具有如下所示格式的标签。

然后我将这些数据推送到结果数组中 - 谁能建议我如何获取 Logo (从图像的 src 中)以及通过计算标签并检查最后一个标签是否包含字符串“half”来获取评级里面?

<table class="table table-striped teams">
<thead>
    <tr>
        <th class="logo">Logo</th>
        <th class="name">Name</th>
        <th class="league">League</th>
        <th class="starrating">Team Rating</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td><a href="/team/21/fc-bayern/" title="FC Bayern"><img alt="FC Bayern" class="team small" src="/static/FIFA16/images/crest/50/light/21.png" title="FC Bayern"/></a></td>
        <td data-title="Name"><a href="/team/21/fc-bayern/" title="FC Bayern">FC Bayern</a></td>
        <td data-title="League"><a href="/teams/?league=19" title="Bundesliga">Bundesliga</a></td>
        <td data-title="Team Rating">
            <span class="star">
            <i class="fa fa-star fa-lg"></i>
            <i class="fa fa-star fa-lg"></i>
            <i class="fa fa-star fa-lg"></i>
            <i class="fa fa-star fa-lg"></i>
            <i class="fa fa-star-half-o fa-lg"></i>
            </span>
        </td>
    </tr>
..... more rows...
</tbody>
</table>

我的 jQuery 代码..

$(".table-striped tr").each( function() {
    var $tds = $(this).find('td'),
        icon = $tds.eq(0).text()
        club = $tds.eq(1).text(),
        league = $tds.eq(2).text(),
        rating = $tds.eq(3).text,

    result.push({
        icon : icon,
        club : club,
        league : league,
        rating : rating
    });
});
return result;
}

最佳答案

首先,我建议将选择器更改为 $(".table-striped tbody tr"),这样 header 就不会循环(因为没有必要)。

然后改变

icon = $tds.eq(0).text()
...
rating = $tds.eq(3).text,

icon = $tds.eq(0).find('img').attr('src'),
...
rating = $tds.eq(3).find('i:first').attr('class');

因此,我假设 rating 应该产生第一个 i 的类名。在您的示例中,结果为 fa fa-star fa-lg

关于javascript - 尝试使用 jQuery 获取表中 img src 和 'star rating' 列的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37526288/

相关文章:

javascript - 如果修改构造函数的原型(prototype)对象,现有构造函数是否不受影响?

javascript - 未调用 v-if 语句中组件的已监视 prop 回调

javascript - Laravel Javascript - 检查 session 中是否存在主题,添加类

jQuery - div 在下一个开始淡入之前没有完全淡出

HTML 表格超出浏览器的宽度

javascript - Vue Js 包装组件绑定(bind)多个值

javascript - 用于任一/或单选按钮的 jQuery 表单验证

jquery - 如何使用jquery在文本框中添加背景图像

java - 使用 Jsoup 从输入中获取名称标签

javascript - 使用 jQuery 对某些元素的 css 属性进行颜色循环,:hover gets stuck and erratic