jQuery如何为每个点击的新div添加一个表行?

时间:2015-01-12 00:17:27

标签: jquery dom

我正在尝试为每个点击的table创建一个新的div行,并为每个div创建一次行,因此在同一div点击两次不会创建两行。

HTML

<div class="block div1"></div>
<div class="block div2"></div>
<div>
    <table class="block table" border="1">
        <thead>
            <tr>
                <th>Number</th>
                <th>Heading</th>
            </tr>
        </thead>
        <tbody class="body">
        </tbody>
    </table>
</div>

的Javascript

$('block').on('click', function () {
    $('table.body').append('<tr><td></td> <td></td></tr>');
});

Here is a jsFiddle

3 个答案:

答案 0 :(得分:2)

除了修复错误的选择器之外,每个绑定目标只有一次事件触发,你可以使用jQuery的.one()方法代替.on(),如下所示:

$('.block').one('click', function () {
    $('table .body').append('<tr><td></td><td></td></tr>');
});

此点击事件每个元素最多只会触发一次。

Updated jsFiddle

答案 1 :(得分:0)

$('.block').on('click', function () {
        $('table .body').append('<tr><td></td> <td></td></tr>');
});
你忘记了“。”在街区并做了“table.body”而不是“table .body”

答案 2 :(得分:0)

按表格中的课程进行实际操作:

http://jsfiddle.net/TrueBlueAussie/9vnmuudy/8/

$('.block').on('click', function () {
        $('.table .body').append('<tr><td></td> <td></td></tr>');
});