【问题标题】:find which td the div is placed on in nested tables在嵌套表中查找 div 放置在哪个 td 上
【发布时间】:2013-05-24 23:56:13
【问题描述】:

这是我的问题。我有类似这样的嵌套表

<table id="tblMenu">
                    <tr>
                        <td valign="top">
                            <table id="tblMenu1">
                                <tr>
                                    <td>
                                        <div class="submenuRed" onclick="emptyTd();">                                                
                                        </div>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <div class="submenuRed" onclick="emptyTd();">                                               
                                        </div>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <div class="submenuRed" onclick="emptyTd();">                                               
                                        </div>
                                    </td>
                                </tr>
                            </table>
                        </td>
                        <td valign="top">
                        </td>
                        <td valign="top">
                        </td>
                        <td valign="top">
                        </td>
                    </tr>
                </table>

当我点击嵌套在深处的 div 时,我想找出表格 tblMenu 的列位置。

如何使用 jQuery 获取它

请推荐!

谢谢! 阿夏

【问题讨论】:

  • 到目前为止你为它写的 jQuery 在哪里?
  • @yvytty 很好!我已经看到了你的一些答案,保持这样,你很快就会有高水平的代表:)
  • @yvytty 很高兴听到这个消息,希望你能得到赏金:P

标签: jquery html nested-table


【解决方案1】:

.closest().index()

function emptyTd() {
    var idx = $('#tblMenu1').closest('td').index();
    // index() starts counting at zero
};

http://jsfiddle.net/mblase75/KGEtq/

【讨论】:

  • 我想找出表 tblMenu 中列的位置,而不是 tblMenu1。看到 tblMenu 中有 4 个 td,表 tblMenu1 在这些列之间移动。我想知道当前在表 tblmenu 中的哪一列
  • Are you sure? 你的问题不清楚。是否有 more 您没有在问题中发布的 HTML?
  • 如果你想要列包含 tblMenu,只需将我代码中的选择器更改为$('#tblMenu'),你应该会很好。
【解决方案2】:

在emptyId函数的调用中添加$(this)

然后这样做:

function emptyId(div) {
    div.text($('td[valign="top"]').index(div.closest('td[valign="top"]')) + 1);
}

它应该可以工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多