在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:对不起我的英语,以及我缺乏知识:)
答案 0 :(得分:1)
首先,您的HTML无效(因为它包含嵌套的<tr>
个节点)。 Nokogiri可以解析它,但如果可以,你应该在此之前解决它。
您可以通过以下ruby代码获取该ID:
doc.at_xpath("//td[contains(text(), '54')]/..")['id']
//td[contains(text(), '54')]
将抓取包含<td>
的所有54
个节点,/..
将转到他们的父母。Document#at_xpath
将只获取第一个匹配项['id']
将获取匹配节点的属性。答案 1 :(得分:-1)
使用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标签有问题。