【问题标题】:How to hide elements in Jquery that have been loaded in with the .load function如何隐藏 Jquery 中已使用 .load 函数加载的元素
【发布时间】:2012-04-09 20:16:24
【问题描述】:

我有一些使用 JQuery 加载函数更新的类。当页面首次加载时,我将它们作为目标并像这样隐藏它们:

$('.classname').hide();

我这样做 ajax load 是这样的:

$.ajax({  
  type: "GET",  
  url: "index.php",  
  data: dataString,  
  success: function() {  
      $('.wrapperClass').load('index.php .wrapperClass');
      $('.classname').hide();
  },
      error: function() {

      }  
});

为了简单起见,html 是这样的:

<div class="wrapperClass">
    <span class="classname">Content 1</span>
    <span class="classname">Content 2</span>
</div>

问题是,wrapperClass get 中的所有内容都重新加载正常,但内部的 span 没有隐藏,它们重新出现,我不知道如何在通过重新加载它们后隐藏它们阿贾克斯。

【问题讨论】:

    标签: javascript jquery ajax callback jquery-load


    【解决方案1】:

    您可能(\应该)知道,load 是一个 ajax 请求,因此当您尝试隐藏元素时不会加载这些元素。

    将处理加载内容的代码移至完成回调:

    success: function() {  
          $('.wrapperClass').load('index.php .wrapperClass', function(){
                  $('.classname').hide();              
              });
          }
    

    完整代码:

    $.ajax({
        type: "GET",
        url: "index.php",
        data: dataString,
        success: function() {
            $('.wrapperClass').load('index.php .wrapperClass', function() {
                $('.classname').hide();
            });
        },
        error: function() {
    
        }
    });​
    

    loaddocs

    .load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)])

    • url 包含请求发送到的 URL 的字符串。
    • data 随请求发送到服务器的映射或字符串。
    • complete(responseText, textStatus, XMLHttpRequest) 请求完成时执行的回调函数。

    【讨论】:

    • @Talon。 那是不可能的,除非你有其他问题。
    • 想通了,我确实有其他问题,现在可以了,谢谢
    【解决方案2】:

    您需要将$('.classname').hide(); 粘贴到.load() 的回调函数中。现在,它试图在元素存在于页面之前隐藏它们。试试这个:

    $.ajax({  
      type: "GET",  
      url: "index.php",  
      data: dataString,  
      success: function() {  
          $('.wrapperClass').load('index.php .wrapperClass', function() {$('.classname').hide();});
      },
          error: function() {
    
          }  
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 2014-04-17
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      相关资源
      最近更新 更多