0

我有一个表,其中动态添加和删除行。当我需要删除某些元素时,它不会删除,只会使其变为空。这是删除功能:

        function remove() {
            dojo.forEach(
                dojo.query(".selectedMail"),
                function(selectTag) {
                     dojo.destroy(selectTag);
                }
              );
        }

这是选择功能:

        var myBehavior = {
            ".row": {
                //onclick: dojo.addClass(evt.target, "buttonDown")
                onmousedown: function(evt) {
                    if(dojo.hasClass(evt.target, "selectedMail"))
                        dojo.removeClass(evt.target, "selectedMail");
                    else
                        dojo.addClass(evt.target, "selectedMail");
                }
            }
        };

这是表:

    <table>
        <tbody id="tbody123">
            <tr class="row">
                <td >simplesimplesimplesimplesimple</td>
            </tr>
            <tr class="row">
                <td>simplesimplesimplesimplesimple</td>
            </tr>
            <tr class="row">
                <td>simplesimple</td>
            </tr>
            <tr class="row">
                <td>simple</td>
            </tr>
        </tbody>
    </table>

在 remove() 执行之后剩下的:这里的完整来源: http: //pastebin.com/0YN5TKvG

4

2 回答 2

1

dojo.destroy工作得很好,你需要更仔细地检查你的 DOM。td您正在向元素添加“selectedMail”类,dojo.destroy完全删除该元素并且(当然)tr单独留下父元素。

于 2013-07-11T07:43:46.243 回答
0

代替

dojo.destroy(selectTag);

你可以使用 dojo.empty

dojo.empty(selectTag);
于 2014-05-01T06:04:34.103 回答