52,797
社区成员
发帖
与我相关
我的任务
分享
$("h4").toggle(function() {
var obj = $(this).siblings("div:gt(0)");//此处$(this)代表的是当前的$("h4")对象
$.ajax({
url : "showAjax.action",
type : "get",
data : "id=" + $(this).prev().val(),
success : function(result) {
// 如果在此处使用$(this)和在外面使用$(this)代表的不是同一个对象
obj.html(result).show();
},
error : function() {
alert("发生错误!");
}
});
}, function() {
var obj = $(this).siblings("div:gt(0)");
obj.hide();
});
function abc(p) {
alert('调用abc的方法传递的参数P:'+p);
}
abc(alert('执行alert后返回值作为abc的参数'))
$(function() {
$("p").click(function() {
$.ajax(
alert(1),alert(2)
);
});
});
这样写与我直接在function(){alert(1);alert(2)}似乎没有什么区别,而且类似于$.get,$.post这种jQuery的全局函数好像里面都可以这样写啊 ,之前一直以为$.ajax()就是单纯的发送异步请求的一个函数,没想到还可以这样使用哪 !
var obj = {
url : "showAjax.action",
type : "get",
data : "id=" + $(this).prev().val(),
success : function(result) {
alert(this.type);
// 如果在此处使用$(this)和在外面使用$(this)代表的不是同一个对象
},
error : function() {
alert("发生错误!");
}
}
obj.success();
$(function() {
$("h3").click(function(){
alert($(this).html());// 此处为第一句(能够正常获取到h3内的文本)
$.ajax({
url : "/json1/showAllEmployees1.action",
type : "get",
data : null,
dataType : "json",
success : function(result) {
alert($(this).html()); //此处为第二句 (总是弹出undefined)
$.each(result,function(i,obj){
alert(obj.dept.dname);
});
},
error : function() {
alert("发生错误!");
}
});
});
});
页面 只有一个h3标签如下:
<h3>测试</h3>
经过测试 第一句能够正常获取到 “测试”,而第二局不能获取到 ,所以我想问的是 第二句中的$(this)已经不是原来的$("h3")那个对象了 ,现在变成了哪个对象呢?
{
url : "showAjax.action",
type : "get",
data : "id=" + $(this).prev().val(),
success : function(result) {
// 如果在此处使用$(this)和在外面使用$(this)代表的不是同一个对象
obj.html(result).show();
},
error : function() {
alert("发生错误!");
}
}
$("h4").toggle(function() {
var self = $(this);
var obj = $(this).siblings("div:gt(0)");//此处$(this)代表的是当前的$("h4")对象
$.ajax({
url : "showAjax.action",
type : "get",
data : "id=" + $(this).prev().val(),
success : function(result) {
// 如果在此处使用$(this)和在外面使用$(this)代表的不是同一个对象
obj.html(result).show();
},
error : function() {
alert("发生错误!");
}
});
}, function() {
var obj = $(this).siblings("div:gt(0)");
obj.hide();
});