jQuery追加不在IE8中工作
$('#buttonadd').click(function(){ if ($counter < 10) { $counter++; $countonlyadd++; $('#buttondiv').append('UNDOHNEODER [X] '); }else{ } $('#send_count').val($countonlyadd); });
我的代码在Internet Explorer中不起作用,我不知道为什么。 所有其他浏览器都可以,但IE不是。 他甚至没有添加1个文本框。
你的问题是IE兼容模式。 这在IE9 http://jsfiddle.net/NP9pG/3/和firefox中运行良好但是当你切换到IE兼容模式时它不起作用。
但这个http://jsfiddle.net/NP9pG/4/将在IE兼容模式下正常工作
你的问题是你的html标记建议进行以下更改
而是将项目附加到table
而不是div
元素
因此js代码:
$('#tableData').append(' [X] ');
希望有所帮助
看起来你在任何浏览器中直接添加了一个tr
而不是有效的html。 其他浏览器不会喊,但IE会。 试试这个。
工作演示
标记更改
JS改变了
$('#buttonadd').click(function(){ if ($counter < 10) { $counter++; $countonlyadd++; $('#buttondiv table').append(' [X] '); }else{ } $('#send_count').val($countonlyadd); });
看来你正在向div添加一个TR,这可能是你的问题。 您应该将它附加到TABLE的TBODY中。
问题是:
- 你有$ counter定义了吗?
- 你有$ countonlyadd定义吗?
- 你在#buttondiv中有<
table
>包装器吗?
想想这些问题,如果结果是“不”,那就是问题所在
如果你有< table
>包装器,请更改
$('#buttondiv').
至
$('#buttondiv table').
如果你首先创建元素,也许它会有所帮助。然后为你的行,列,文本框等创建一个对象。而不是将它们相互追加。 最后将行添加到div中。 除此之外,将一行添加到div而不是表格中有点奇怪……