0

我想访问以下 HTML 代码中的 div 标签:

<table>
    <div class="rowBound">
      <tr onclick="expandLastResultDetails(this);">
        <td class="c1">56835-14513</td>
        ...
      </tr>
      <tr class="rowDetails">
        <td colspan="0">
        <div style="background-color: #0F9;"> expandable
         </div></td>
      </tr>
    </div>
</table>

但是 jQuery 命令只是给了我一个 TBODY 而不是我的 DIV ..

这是我在另一种情况下所做的:

function expandNavContent(navEntryTitle) {
    var content = $(navEntryTitle).parent().children('.navContent');
    $(content).slideToggle('slow', function () {
        // Animation complete.
    });
}

我想要的:如果有人点击 tr,rowDetails 应该使用 slideToggle 进行动画处理

如果我使用此代码:

function expandLastResultDetails(tableEntry) {
    var content =$(tableEntry).parent().children('.rowDetails');
    $(content).slideToggle('slow', function () {
        // Animation complete.
    });
}

它切换所有行,但它应该只切换一行,所以我将它们嵌套到一个分区中,也许那是错误的

4

4 回答 4

2

试试这个:

$('tr.rowDetails').find('div');

但是,您的标记无效。tr是 的元素table,而不是div

要获取外部父级div

$('tr.rowDetails').closest('div');

编辑后

function expandLastResultDetails(tableEntry) {
    var content =$(tableEntry).next('.rowDetails'); // will point to next tr
    $(content).slideToggle('slow', function () {
        // Animation complete.
    });
}
于 2012-09-06T09:41:59.377 回答
2

尝试$('.rowDetails').closest('div.rowBound');

它将从当前元素(向外)冒泡,直到找到 div 元素。

希望能帮助到你

于 2012-09-06T09:44:00.437 回答
1

你试过什么命令?你可以使用这个:

$(".rowDetails tr td div");

而且,里面不能有<tr>a <div>

于 2012-09-06T09:40:59.683 回答
0

由于您的标记无效,浏览器会适当地为您插入 tbody 和表格(查看 FireBug/Dev 工具中的标记)。类似的东西$(".rowDetails").parent().parent().parent()可以工作(在某些浏览器中),但我建议改为修复标记

于 2012-09-06T09:43:20.940 回答