1

var a = $("#HTMLiFRAME").contents().find('xxx'); //only reference not actual code

指向对象:

<td>hi</td>

在一个表中:

 <tr id="1">
     <td>hi</td>
 </tr>
 <tr id="2"></tr>
 <tr id="3"></tr>
 <tr id="4"></tr>

我怎样才能下降到

<tr id="3></tr>

仅使用 next()、offsetParents() 等方法。

//ids or clases are not known
4

4 回答 4

1

这个怎么样?

var a = $("td:contains('hi')").parent().siblings().last();

编辑:所以你不想要最后一个......你想要倒数第二个?这个怎么样?

var a = $("td:contains('hi')").parent().siblings().last().prev();

编辑 2:所以你不希望倒数第二个你想要的......在第一个之后的两个?这个怎么样?

var a = $("td:contains('hi')").parent().next().next();
于 2012-07-27T20:31:58.217 回答
1

您的 HTML 格式不正确(需要封装表格标签)并且它会破坏您可能希望执行的任何 DOM 遍历。正确编写 HTML 代码,使用 .parent() 或 .closest('tr') 从单元格到行,然后使用 .next() 或 .nextUntil() 选择下一行。

工作示例:http:
//jsfiddle.net/W3yqu/

jQuery 选择器中的 document.getElementById 没有评论;)

于 2012-07-27T20:38:41.187 回答
0

真的有很多方法可以做到这一点。但是我会以不同的方式处理这个问题,因为我需要下一个选择。

var a = $(document.getElementById("id")),
    tbody = a.find('tbody');

var td = tbody.find('#1'),
    anotherTd = tbody.find('#2'); //etc
于 2012-07-27T20:36:44.403 回答
0

如果你想做一个完整的 jquery,你可以做这样的事情。

http://api.jquery.com/next-siblings-selector/

http://api.jquery.com/eq-selector/

var item = $("#1 ~ td:eq(1)")

于 2012-07-27T20:40:05.290 回答