jQuery追加function在Internet Explorer 8中不起作用

这是我的代码 –

$("body").append("
" + "" + "
");

在IE8中我收到以下错误 – 网页错误详细信息

 User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) Timestamp: Wed, 27 Mar 2013 07:03:53 UTC Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917) Line: 0 Char: 0 Code: 0 

你需要在页面加载完成后执行此操作(因为IE8需要时间来渲染并执行JavaScript):

 $(document).ready(function() { $("body").append("
" + "" + "
"); });

对于我来说,如果要追加的元素是输入,则追加不起作用。 对于其他元素的工作。

  

没用

 $("#V_DepTO").append("``"); 

js错误:意外的调用方法或属性访问

工作

 $("#V_DepTOTd").append("``"); 

在IE8和jquery.min.js 1.9.1中测试过

我的建议,转储代码,这将是可怕的维护。 加上append采用原始HTML。 尝试这个我认为“正确”的方法:

 // All your functions organized in an object var actions = { add: function() { }, edit: function() { }, delete: function() { } }; // Generate necessary html var items = []; for (var a in actions) { items.push('
  • '); } // Handle events var $items = $(items.join('')).click(function(e) { e.preventDefault(); // similar to "javascript:void" actions[$(this).data('item')](); }); // Append to DOM $('body').append($('
      ').find('ul').append($items)));

      这将更容易维护,因为它现在都是动态的。 我建议你也可以使用有意义的课程,即。 “编辑”,“添加”,“删除”,因此您可以更轻松地在CSS中定位它们。