HTML表格单元格id -一些生成静态其他动态

本文关键字:静态 其他 动态 表格 单元格 id HTML | 更新日期: 2023-09-27 18:08:27

我有以下Jquery代码:

$('#tableCellId').click(function () {
           //stuff
            });

工作得很好,触发了,在我对后端做了更多的工作后,我开始测试,看到这根本没有发射。我从控制台检查,看到单元格的id被更改为动态生成的id,即:

<td id="ctl00_MainContent_tbTab_tbPanel_AccordionPane3_content_tableCellId" class="AddNew">+</td>

我注意到这个问题在最初工作良好后以同样的方式发生,但与单元格的表元素。好吧,我可以用"ClientIDMode = static"

clientidmode="static"不是我可以应用到细胞的东西,无论如何也不想。为什么id会突然动态生成?有什么简单的方法可以防止这种情况发生吗?

我知道如果单元格是动态添加的,ID可以是动态的。在这个表格中有一些单元格是,但是这个不是,也不是其中之一。

Edit: full table

<table id="tblMyTable" class="MyTableClass">
    <tr>
        <td style="width:90%;vertical-align:top;">
            <table ClientIDMode="Static" id="tblMyTable1" runat="server" class="TableClass" style="-moz-min-width:600px; -ms-min-width:600px; -o-min-width:600px; -webkit-min-width:600px; min-width:600px; width:100%;">
                <tr class="rowClass">
                    <td><div><input name="inputName" value="Name"></input></div>
                    </td>
                    <td class="AddNew" colspan="42"> + </td>
                </tr>
                <tr>
                    <td id="addType1" class="AddNew">+</td>
                </tr>
            </table>
            <table ClientIDMode="Static" id="tblMyTable2" runat="server" class="TableClass" style="-moz-min-width:600px; -ms-min-width:600px; -o-min-width:600px; -webkit-min-width:600px; min-width:600px;">
                <tr class="rowClass">
                    <td><div><input name="inputName" value="My Name"></input></div>
                    </td>
                    <td class="AddNew" colspan="42"> + </td>
                </tr>
                <tr>
                    <td id="addType2" class="AddNew">+</td>
                </tr>
            </table>
    ....

不再静态生成addType2和addType1的单元格

HTML表格单元格id -一些生成静态其他动态

您总是可以在表格单元格中添加数据属性。

<td data-role="newID" id="ctl00_MainContent_tbTab_tbPanel_AccordionPane3_content_tableCellId" class="AddNew">+</td>
$("td[data-role='newID']").click(function () {
           //stuff
            });