jquery在ie7下选择器的问题导致append失效的解决方法

1,有如下这样一段html

代码如下:

2,我用jquery动态填充tbody下的内容代码如下

代码如下:

这段代码在ie7及以下ie版本会有问题,jquery无法通过#pending table tbody 找到正确的dom位置并append内容。需要修改修改代码如下

代码如下:

把#pending去掉 直接通过table tbody找dom

3,我一时很疑惑,级联的选择器很常见,但是在ie7下为什么有这种问题,难道是jquery的bug或者div下嵌套table tbody的html写法不够标准?

下面继续补充一下:

jquery在IE中使用append应注意的问题

rush:js;"> $(document).ready(function() { $.ajax({ url: 'Cutepage.htm',dataType: 'json',data: 'type=Init&PageSize=' + EachPage + '&PageIndex=1',success: function(msg) {
  //在IE7下无法<a href="https://www.jb51.cc/tag/xianshi/" target="_blank" class="keywords">显示</a>,在火狐下没有问题。。。。。
  $('#Content').append('<tr&gt;<td width="19%"&gt; 商品编号</td&gt;<td width="15%"&gt;商品名字</td&gt;<td width="20%"&gt;供应商商编号</td&gt;<td width="30%"&gt;商品种类编号</td&gt;<td width="10%"&gt;单价</td&gt;</tr&gt;');

 },error: function(x) { alert("服务器<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a><a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>:" + x.status); $('#Loading').hide(); }

});
});

修改(如下):

rush:js;"> $(document).ready(function() { $.ajax({ url: 'Cutepage.htm',success: function(msg) {
  //<a href="https://www.jb51.cc/tag/xiugai/" target="_blank" class="keywords">修改</a>后...(这样就没有问题了,可以看出Jquery对html<a href="https://www.jb51.cc/tag/biaoqian/" target="_blank" class="keywords">标签</a>是比较敏感的,以后需要注意........) 
  var pageContent = '';  
   pageContent += '<table border="2"&gt;';
   pageContent += '<tr&gt;<td width="19%"&gt; 商品编号</td&gt;<td width="15%"&gt;商品名字</td&gt;<td width="20%"&gt;供应商商编号</td&gt;<td width="30%"&gt;商品种类编号</td&gt;<td width="10%"&gt;单价</td&gt;</tr&gt;';
   pageContent += '</table&gt;';      
   $('#Content').append(pageContent );

 },error: function(x) { alert("服务器<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a><a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>:" + x.status); $('#Loading').hide(); }

});
});

就是将内容复制给一个参数,不要直接使用html内容

jQuery的append方法不支持连接等HTML属性解决

很是郁闷,今天写程序,想在文档对象中append一些html上去,诸如

这些完全没有问题,可是碰到了带链接的HTML如:

代码如下:
test");

firefox毫无问题,IE6、IE7一直到IE8就死活上不去,只显示文本内容,不带任何连接。准备Google一下,却发现Google.com已然无法登陆,Google.cn上查询出来的基本上一页全是采集站的那些垃圾文章,很是郁闷。搞了半天,找到一篇文章,说是jQuery自身append函数的问题,这个函数自己带类似HTML解析和分析的语句,基本的html没问题,碰到链接或者未完全关闭标签或者是自定义标签,jQuery就死活认不出来。不知道是否真的如此,手头的js库是压缩版,太晚了头也昏昏沉沉不想再去看劳什子源代码了。直接自己Create一个a标签的元素插入进去好了,这样搞:

代码如下:

然后给这个链接附上内容

代码如下:
哎,累不累啊。不管了,睡觉了,明天有空看看jQuery的源代码是怎么写的吧。

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...