jQuery .html()在IE8中不起作用

时间:2013-03-07 12:32:17

标签: php jquery html web

我有一个AJAX响应,它使用$_GET返回信息,然后设置为容器的HTML。这适用于Chrome,Safari,FireFox,Opera,但不适用于IE8。

$(function() {
  $('#content .entry-content a.mais-menos').click(
    function(){
      $('#content .entry-content a.mais-menos').css('background-position','bottom left');
      if($(this).siblings('.descricao-campanha').css('display')=='block'){
        $(this).css('background-position','bottom left');
        $(this).siblings('.descricao-campanha').slideUp(1000);

      }else{
        $('#content .entry-content .descricao-campanha').slideUp(1000);
        $(this).css('background-position','top left');
        $(this).siblings('.descricao-campanha').slideDown(1000);

        var mae = $(this).siblings('.descricao-campanha');
        var codigo = $(this).siblings('.cdPost').attr('value');

        if (mae.children('.carregando').is(":visible")){
          $.get('<?= get_bloginfo("url") ?>/get_associado.php', {cd:codigo}, function(retorno) {
            // mae.children('.carregando').hide();
            mae.html(retorno);
            // alert(retorno);
          });
        }
      }
      return false;
    }
  );
});

如果我提醒retorno我可以看到数据已被返回,但当我将其附加到div时,它在IE8中失败。

有人可以帮我理解为什么会失败以及如何解决它?

检查此页面中的错误http://www.superredems.com.br/associados/

这是Retorno返回的,如果没有图像。

<div class="clear"></div>
  <div class="descricao-mercado">
    Fone: 67 3245 3330<br />
    Praça Das Nações, 330
    Bairro Centro
    <a target='_blank' href='http://pt.wikipedia.org/wiki/Anast%C3%A1cio_%28Mato_Grosso_do_Sul%29' title='ANASTACIO - MS'>ANASTACIO - MS</a>
  </div>
  <div class="clear"></div>
  <p></p>
  <div class="clear"></div>
  <div class="imagens-destaque-associado">
    <div class="clear"></div>
  </div>
  <div class="clear"></div>
</div>

3 个答案:

答案 0 :(得分:2)

在IE8中附加标记时,您需要确保它有效,此错误已记录here,并且通常是由于标记未关闭引起的。

答案 1 :(得分:2)

@PeteUh是完全正确的。这是我尝试设置的html:

<div class="clear"></div>
<div class="descricao-mercado">
    Fone: 67 3239 1810<br />
    Av João Garcia De Souza, 46
    Bairro Jardim Nova Água Clara
    <a target='_blank' href='http://pt.wikipedia.org/wiki/%C3%81gua_Clara' title='ÁGUA CLARA - MS'>ÁGUA CLARA - MS</a>
</div>

<div class="clear"></div>
<p></p>
<div class="clear"></div>
<div class="imagens-destaque-associado">
    <div class="clear"></div>
</div>
<div class="clear"></div>
</div>

<script>
     $('img').parent('a').colorbox();
</script>

正如您所看到的,你有太多的结束div标签。

答案 2 :(得分:2)

响应中有一个额外的div结束标记。删除它,它将正常工作

<div class="clear"></div>
<div class="descricao-mercado">
    Fone: 67 3239 1810<br />
    Av João Garcia De Souza, 46
    Bairro Jardim Nova Água Clara
    <a target='_blank' href='http://pt.wikipedia.org/wiki/%C3%81gua_Clara' title='ÁGUA CLARA - MS'>ÁGUA CLARA - MS</a>
</div>

<div class="clear"></div>
<p></p>
<div class="clear"></div>
<div class="imagens-destaque-associado">

<div class="clear"></div>
</div>

<div class="clear"></div>
</div> **<-- this is extra**

<script>
    $('img').parent('a').colorbox();
</script>