【问题标题】:jQuery .html() not displaying any data in ie7, but ie8 worksjQuery .html() 在 ie7 中不显示任何数据,但 ie8 可以工作
【发布时间】:2011-03-03 08:55:09
【问题描述】:

那么谁对 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就像&lt;div id="vehicle-alt"&gt;&lt;/div&gt;一样简单

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我提供的链接中的任何其他方法都没有为您工作吗?请检查浏览器是否提示javascript错误?
    • 如果没有尝试使用 javascript innerHTML 方法。例如; document.getElementById('vehicle-alt').innerHTML = 'html 内容';
    【解决方案2】:

    我也有这个错误。

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

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

    在我的例子中,html 有一个额外的关闭标签。我删除了它,现在一切正常。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-12-17
        • 2011-04-27
        • 2012-02-06
        • 1970-01-01
        • 2011-07-10
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多