jQuery .html()没有在ie7中显示任何数据,但ie8有效

时间:2011-03-03 08:55:09

标签: jquery wordpress internet-explorer-7 wordpress-theming internet-explorer-6

那么ie7没有问题?

似乎我无法通过ie7来识别某些数据。

我为我的客户创建了一个wordpress主题,这允许他们通过管理员在wordpress meta fields中输入额外的信息,以便他们显示额外的信息。

我编写了一个小jQuery脚本,用于查看图像alttitle以收集此信息并将其写入div。

以下是我的剧本。

<script type="text/javascript">
    //<![CDATA[
    jQuery(document).ready(function(){
      var title = jQuery('.attachment-post-thumbnail').attr('title');
      var alt = jQuery('.attachment-post-thumbnail').attr('alt');
      jQuery('#vehicle-alt').html('<h2 class="car-detail">'+title+'</h2><p>'+alt+'</p>');
    });
    //]]>
</script>

当我查看ie7中的源代码时,没有传递的信息。

div就像<div id="vehicle-alt"></div>

一样简单

3 个答案:

答案 0 :(得分:3)

.html()方法使用浏览器的innerHTML属性。某些浏览器可能无法生成完全复制所提供的HTML源的DOM。

似乎jQuery html()方法在现有DOM对象上调用方法empty()。因此在div上尝试使用empty()而不是html(),并尝试append()。例如

 $('#vehicle-alt').append('html content');

另请尝试使用JQuery提供的其他dom manipulation menthods

答案 1 :(得分:2)

我也有这个错误。

解决方案是 验证 我尝试打印或添加的html内容。

我尝试了几个jquery函数:html,append,appendTo ......但没有任何效果。

在我的情况下,html有一个额外的关闭标记。我删除了它,现在一切正常。

答案 2 :(得分:0)

当有两个或多个具有相同ID的元素时,我遇到了这个错误。它只发生在IE7中。

修复当然是为了确保每个元素都有唯一的ID。