jQuery中是否有.load()的替代方法?

6
在jQuery中有没有.load()的替代方法?

3
在这个问题中,你面临的最大问题是,jQuery 中有两个 .load() 方法。 - jAndy
2
我知道.load('文件名')的用法;请给我讲解一下。 - X10nD
@andy 在我在这里发布问题之前,我确实访问了jQuery和Google。 - X10nD
6个回答

11

3
使用$.ajax代替.load函数,但请确保为ajax函数指定dataType为html。 .load只是$.ajax函数的简化版本,其中dataType为html。
$.ajax({
  url: 'url to load',
  dataType: 'html',
  success: function(html) {
    ... rest of your code that should be added into the load function.
  }
});

1
$('#test_image').ready(function() {
    alert("fully loaded !!!");   
 });

尝试这个,它会起作用


1

适用于 jQuery 库版本大于 1.7

$('#test_image').on("load",function() {

alert("fully loaded !!!");   


});

0
如前所述,你可以直接使用$.ajax()方法。
下面是一个例子。
function update_user_ajx(user_id){

 var data = { 
 username: $('#UsernamePost_' + user_id).val(), 
 password: $('#PasswordPost_' + user_id).val(),
 email:   $('#EmailPost_' + user_id).val(),
 accesslevel: $('#AccessLevelPost_' + user_id).val()
 };

 $.ajax({
  url: "/managesettings/updateuser/" + user_id,
  type: "POST",
  data: data,
  cache: false,
  success: function (html) {

   /* Replace Content */
   $('#UpdateUsers').html(html);

   /* Try Fade In */
   $('#UpdateUsers').fadeIn('slow'); 
  }
 });
}

5
这实际上是传递data参数的一种非常糟糕的方式,你应该使用一个对象而不是自己构造字符串,或者调用.serialize()。比如,如果我的密码里有一个&符号,那会怎么样呢? - Nick Craver
@Nick Craver:感谢您指出这一点,我已经修改了我的答案以反映这一点。 - Bella

0
如果您需要在页面加载时执行某些操作,请相对于文档进行操作。
例如:
$(document).ready(function(){       
    var var_name = $(this).find(".div_class").children(".child_div").height();
    $(this).find(".div_class").css("min-height", var_name);
});

在这里,我使用find()函数以文档作为相对父级,而不是使用

作为相对父级的load()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接