在将div
分配给Javascript变量后,我在使用jQuery选择id
时遇到问题:
$(function() {
$(".do").live("click",function()
{
var id = $(this).attr("id");
$.ajax({
//reload div using js var id
$('id').fadeOut('fast').load('http://example.com/get.php').fadeIn("slow");
});
return false;
});
});
当我调用一个静态div时,它可以正常工作:
$('#staticdiv').fadeOut('fast').load('http://example.com/get.php').fadeIn("slow");
如何从包含div
的Javascript变量中选择id
?
*编辑
以下是div的示例:
按钮重新加载
<a href="" class="do" id="12">click to reload</a>
DIV重装:
<div id="12">to be refreshed</div>
请记住“12”我们的动态,可以是任何变量。
答案 0 :(得分:2)
你可以这样做:
$("#"+id).fadeOut() // ...
但是,我不建议这样做(它不适用于没有ID的东西);试试这个(这应该适用于没有ID的东西):
$(".do").live("click", function() {
var me = $(this);
$.ajax({
// ...
success: function(data) {
me.fadeOut('fast').load('http://example.com/get.php').fadeIn("slow");
}
// ...
});
return false;
});
此外,我不确定你是否真的想要.fadeOut().load().fadeIn()
链; load
不会等待fadeOut
完成,fadeIn
也不会等待load
完成(尽管fadeIn
会< / em>等待fadeOut
完成。如果你有问题,你应该试试这个:
me.fadeOut('fast', function() {
me.load('http://www.example.com/get.php', function() {
me.fadeIn('slow');
});
});
答案 1 :(得分:1)
您不应该使用变量id
而不是字符串'id'
。
如下:
$('#'+id).fadeOut('fast').load('http://example.com/get.php').fadeIn("slow");