通过给出已知的td来解析id值



在firePath的帮助下,我得到了这个:

.//*[@id='#table-row-51535240d7037e70b9000062']/td[1]

我的HTML的Parot看起来像这样:

  <table class="table table-bordered table-striped">
    <tbody>
      <tr>
      <tr>
       <tr id="#table-row-51535240d7037e70b9000062"> #this is the id that i want to get
      <td>             54           </td>            #this is the td that i know
      <td>
      <td>
       <td>Open</td>
    <td/>

这里我真正想做的是,通过给出td值(54),我希望能够获得id(解析id),任何提示我如何实现这一点?

提前感谢。

PS:对不起,我的英语,我的知识不够:)

首先你的HTML是无效的(因为它包含嵌套的<tr>节点)。Nokogiri可能能够解析它,但如果你可以,你应该在此之前修复它。

您可以通过以下ruby代码获取该id:

doc.at_xpath("//td[contains(text(), '54')]/..")['id']
  1. //td[contains(text(), '54')]将抓取包含54的所有<td>节点,/..将转到它们的父节点。
  2. Document#at_xpath将只获取第一个匹配项
  3. ['id']将获得匹配节点的属性。

使用jquery

$(function(){
    // (i dont know if you have id for that td or not, it will be more easy if u do have id for that td)
    console.log($('table tbody tr td:first').closest('tr').attr('id')); // you can remove :first if you want to.
});

哎呀,我误解了你的问题,还有一件事,你的tr标签有问题。

相关内容

  • 没有找到相关文章

最新更新