jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了MSIE:jQuery的append()/ html()不起作用,使用了getElementById().innerHTML大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这个很长,

前提

被召集来帮助客户修复他们当前项目的一些错误.需要修复的是一份工作清单页面.您有一个作业列表,单击一个,如果激活了JavaScript,则会调用AJAX来将作业的详细信息动态加载到现有元素中(DIV#emploi_details).如果未激活JS,则只需使用作业的详细信息重新加载页面(不太重要).

我跳上他们的实验室服务器在dev网站上工作.

问题

基本上,IE7(起初)没有显示通过$().load()加载的内容. IE6与innerHTML一起工作顺利.请求已发送,我每次都会收到回复.我收到数据,我可以提醒()它并看到它,但实际的内容转储不起作用. Safari,Firefox,没问题.我正在加载信息的DIV#emploi_details元素有一个CSS显示:none;在其样式表中,并在加载内容显示(其他不那么重要的细节).

show_emploi = function(id,succ_id)
{
    $('#emploi_details').fadeOut(800,function() {
        var $$= $(this);

        $$.load('emploi_<?PHP echo $data['lang']; ?>.PHP',{ job_details: 1,ajax: 1,id: id,succ: succ_id,random: (new Date().getTime()) },function(data,status){
            if (isIE6) document.getElementById('emploi_details').innerHTML = data;
            $$.show();
        });
        $('#bgContent').fadeOut();
    });
}

解决方

起初我的印象可能是$().load()刚刚起作用,所以我改为$.get()来更好地控制加载内容的操作.

$.get('emploi_<?PHP echo $data['lang']; ?>.PHP',status){
    $$.empty().append(data).show();
});

这有效.在所有浏览器中包括IE6和IE7.没问题.很奇怪,但你知道它是否有效并且全面防范,不要问问题.

剧情扭曲

在这里的狗屎很奇怪.我认为修复了这个错误并将解决方案应用到了实时网站上……它不起作用. IE就是不喜欢它.在尝试$.ajax和所有其他类型的东西后,我最终在实时网站上使用这个

$.get('emploi_<?PHP echo $data['lang']; ?>.PHP',status){
    document.getElementById('emploi_details').innerHTML = data;
    $$.show();
});

它适用于所有浏览器,因为没有像准系统JS那样完成任务.必要的是,此修复程序也适用于开发网站.

‘待续’

嵌入内容功能有些不是针对所有浏览器(显然是服务器)的点击.

总而言之,我的问题是WTF问题.我无法理解为什么一方在一方工作而另一方无效,甚至为什么它在开始时从未正常工作($().load()).它显然没有不同的jQuery版本(1.2.6),因为这是我第一次验证框架版本的本能.

无论如何,有趣的神秘IMO.

希望Stackland的人有上帝给出的答案.

谢谢

解决方法

我已经解开了这个谜语!这是我的问题的一个工作示例.
诀窍是在第一次成功后调用一个AJAX,这将以某种方式覆盖innerHTML的问题.
谢谢你们让我指向正确的方向.

我希望这会对一些人有所帮助,因为到目前为止我还没有看到一个有效的解决方案.
我也会联系jQuery:P

$.ajax({
url:'modifyarticle.PHP',type:'POST',data:{
 id:this.id,article:'something',mode:'single',action:'delete'},cache:false,success:function(msg) {
 alert(msg);$.ajax({
  url:'getall.PHP',type:'GET',cache: false,success: function(data) {
   $('#output').html(data);
  }
 });
}});

萨吕

大佬总结

以上是大佬教程为你收集整理的MSIE:jQuery的append()/ html()不起作用,使用了getElementById().innerHTML全部内容,希望文章能够帮你解决MSIE:jQuery的append()/ html()不起作用,使用了getElementById().innerHTML所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。