JQuery - 添加新行到表格(适用于IE的版本)

7
我遇到了JQuery和Internet Explore(IE)的问题。在IE中,我的添加行方法似乎无法正常工作(Chrome和Firefox没有问题)
请看下表:
<table border="1">
    <tr>
        <td><button class="btn">btn1a</button></td>
        <td><button class="btn">btn1b</button></td>
        <td>zever</td>
        <td>zeverin pakskes</td>
    </tr>
    <tr>
        <td><button class="btn">btn2a</button></td>
        <td><button class="btn">btn2b</button></td>
        <td>zever</td>
        <td>zeverin pakskes</td>
    </tr>
    </table>

为了添加行(当用户单击“按钮”时),我执行以下方法:
$(document).ready(function(){
    $('.btn').on('click',function(){
        var parentrow = $(this).parent().parent();
        parentrow.after('<tr ><td colspan="4">Dit is een colspan rij</td></tr>');
    });
});

问题: 我该如何修改我的方法使其在IE中也能正常工作?例如,添加行。

注:我正在使用以下jQuery库。

<script src="https://code.jquery.com/jquery.js"></script>

大家好,这个问题是关于一个打字错误的。 - codefreaK
@user3127499,提出一个详细的问题来纠正打字错误总比提出一个糟糕的问题要好! - nietonfir
@nietonfir 是的,但我的经验告诉我不同。 - codefreaK
2个回答

2

请删除您开头<tr>标签中的尾随空格,因为IE不喜欢无效的HTML(不是开玩笑!!)。 ;-)

parentrow.after('<tr><td colspan="4">Dit is een colspan rij</td></tr>');

2
天啊!我想我要撞墙一段时间了 :). 你的解决方案是正确的。我没有意识到IE在一个愚蠢的间距上会变得那么困难。 - User999999

2

我之前也遇到过同样的问题,采用了以下方法:

将元素分别创建为单独的元素:

parent.after($('<tr/>').append($('<td colspan="4" />').text('Dit is een colspan rij')));

代码写得不错! :) 问题:我可以插入HTML(使用.text())而不是插入纯文本吗? - User999999
如果我没记错的话,在旧版IE中这不起作用。具有讽刺意味的是,IE在创建期间不喜欢自闭合元素。 - nietonfir
哦,太好了!我知道刚好可以测试那个的函数! - User999999

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接