使用此函数我想将数据(res_id)提交给脚本并通过它的id(使用变量pos)淡出div,执行脚本但div不会淡出。那是为什么?
$('.remove_resort').click(function() {
pos = $(this).attr("id");
rem_res();
});
function rem_res() {
$.get("/snowreport/request/remove.php", {
res_id: pos
}, function(data1) {
pos.fadeOut("slow");
});
}
答案 0 :(得分:1)
pos
包含ID字符串,因此您需要$("#" + pos).fadeOut("slow")
答案 1 :(得分:0)
pos
已超越。你应该将它作为参数传递给函数。
$('.remove_resort').click(function() {
pos = $(this).attr("id");
rem_res(pos);
});
function rem_res(pos) {
$.get("/snowreport/request/remove.php", {
res_id: pos
}, function(data1) {
pos.fadeOut("slow");
});
}
答案 2 :(得分:0)
您正在存储pos = $(this).attr("id")
,这是一个字符串,而不是jQuery对象。你的原始代码正在尝试调用“somestring”.fadeOut(),这将无法正常工作。如果你保留对元素的jQuery对象的引用并在其上调用fadeOut,它应该淡出。
让我们重写一下这段代码,让它完成您所追求的目标,更清洁,更明显:
$('.remove_resort').click(function() {
rem_res(this);
});
function rem_res(element) {
var $element = $(element),
id = element.id;
$.get("/snowreport/request/remove.php", { res_id: id }, function(data) {
$element.fadeOut("slow");
});
}