0

我使用以下代码片段在 Jquery 中创建表的 tr。

代码片段:

<tr>
        <td class="rowcell">
            <div>
                <div class="intend" style="width: 24px; height: 1px; float: left;"></div>
                <div class="style='float:" left'=""></div>
                <div style="width: 10px; height: 1px; float: left;"></div>
                <div>Task 3</div>
            </div>
        </td>
        <td class="rowcell">
            <div>01/01/2013</div>
        </td>
        <td class="rowcell">
            <div>01/05/2013</div>
        </td><td class="rowcell">
            <div>5 days</div>
             </td>
        <td class="rowcell">
            <div>77</div>
        </td>
        </tr>

在这种情况下,我为表的父级调用了单击事件。在单击事件中,我使用以下代码片段更改 td 的类名以应用选择背景,但在这种情况下类名不能更改。

代码片段

//Here $ganttGridRows table rows.
        var $ganttGridRows = $(this.getGanttGridTreeRows());

        //Clicking in the row
        var row = $target.closest('tr');


        var index = $ganttGridRows.index(row);
        var item = this.model.currentViewRange[recordIndex];
        this.model.selectedRow = this.model.ganttRecords.indexOf(item);
        var args = {};
        if (this.model.selectedRow != -1)
            args = { currentRowIndex: this.model.selectedRow, currrentRow: $ganttGridRows.eq(this.model.selectedRow), currentData: this.model.ganttRecords[this.model.selectedRow] };
        if (this._trigger("rowSelecting", args))
            return;
        this.cleanUpSelection();
        this._selectedRowsIndexes = [];
        var cell = $target.closest('td');
        //Here index is the rowindex of the selected row
        $($ganttGridRows[index]).find('.rowcell').addClass("selectionbackground");

但是在 td 中使用 div 时这不起作用。但是,如果我在 td 中使用没有 div 并直接分配如下代码片段的文本,它对我来说工作正常。

代码片段

<tr>
         <td class="rowcell">Task 1</td>
        <td class="rowcell">01/01/2013</td>
        <td class="rowcell">01/05/2013</td>
        <td class="rowcell">5 days</td>
        <td class="rowcell">31</td>
        </tr>

您能否对此有所了解并提供解决此问题的建议,并解释此行为的原因。

4

0 回答 0