繁体   English   中英

我如何解析 <td> 标记来自html的内容,这些内容由多个表组成,没有类或ID?

[英]how do i parse a <td> tag content from html that consist of more than one table that have no class or id?

这是例子:

<table width="98%" border="0" cellpadding="7" cellspacing="1" style="border: 1px solid #9fc1d6;">
    <tbody>
        <tr>
            <td bgcolor="#F8F8F8">Rooms </td>
            <td bgcolor="#F8F8F8">4</td>
        </tr>
        <tr>
            <td bgcolor="#FDFDFD">Rest room </td>
            <td bgcolor="#FDFDFD">3</td>
        </tr>

    </tbody>
</table>


<table width="98%" border="0" cellpadding="7" cellspacing="1" style="border: 1px solid #9fc1d6">
    <tr>
        <th colspan="2" class="ch5">contact person </th>
    </tr>
    <tr>
        <td width="26%" bgcolor="#F8F8F8">Name</td>
        <td width="74%" bgcolor="#F8F8F8">Silvilia</td>
    </tr>
    <tr>
        <td bgcolor="#FDFDFD">Phone Number</td>
        <td bgcolor="#FDFDFD">0852-2223-44xx</td>
    </tr>

</table>

在这种情况下,我想解析房间的td标签内容(4)。 因此,这是获取房间td标签内容的示例代码(如果只有一张桌子)。

var row = $('table tr');
row.each(function(j,elem){
    if(j==1){
        var rooms= $(this).find('td:nth-child(2)').text();
        dataparse.rooms = rooms;
    }
});

有什么办法可以解决这个问题?

如果您不能添加类或ID,则没有方便的方法。 您的方法不错,应该可以,但是您正在从第二行(Rest room)中获取数据,因为索引j应该从0开始,并且您正在进行比较j == 1 用另一种方法,您可以尝试使用xpath,也可以检查上一个单元格的innerHTML.trim().toLowerCase()如果prev单元格的innerHTML.trim().toLowerCase()等于rooms

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM