Javascript 从js var分配动态div id
将id分配给Javascript变量后,使用jQuery选择div时遇到问题:Javascript 从js var分配动态div id,javascript,jquery,Javascript,Jquery,将id分配给Javascript变量后,使用jQuery选择div时遇到问题: $(function() { $(".do").live("click",function() { var id = $(this).attr("id"); $.ajax({ //reload div using js var id $('id').fadeOut('fast').load('http://ex
$(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");
如何从包含其id的Javascript变量中选择div
*编辑
以下是一个示例,如果div:
按钮以接合重新加载
<a href="" class="do" id="12">click to reload</a>
要重新加载的DIV:
<div id="12">to be refreshed</div>
请记住12 us动态,可以是任何变量。您可以使用以下方法:
$("#"+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;
});
另外,我不确定你是否真的想要它;加载将不会等待淡出完成,虽然淡出将等待淡出完成,但淡出将不会等待加载完成。如果您对此有问题,请尝试以下方法:
me.fadeOut('fast', function() {
me.load('http://www.example.com/get.php', function() {
me.fadeIn('slow');
});
});
您可以使用以下方法执行此操作:
$("#"+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;
});
另外,我不确定你是否真的想要它;加载将不会等待淡出完成,虽然淡出将等待淡出完成,但淡出将不会等待加载完成。如果您对此有问题,请尝试以下方法:
me.fadeOut('fast', function() {
me.load('http://www.example.com/get.php', function() {
me.fadeIn('slow');
});
});
您不应该使用变量id而不是字符串“id”吗 详情如下:
$('#'+id).fadeOut('fast').load('http://example.com/get.php').fadeIn("slow");
您不应该使用变量id而不是字符串“id”吗 详情如下:
$('#'+id).fadeOut('fast').load('http://example.com/get.php').fadeIn("slow");
当我尝试$+id.fadeOut/。。。它刷新到发送do的父div中,而不是特定的div。另外,您给出的替代/更好的示例也会有相同的结果,加载$this;是否只需在单击按钮的div中重新加载,否?@cjaredrun:您要重新加载的div是否具有do类,还是具有do类的父级?如果父元素具有do类,则应将选择器从.do更改为.do>div.i,并使用我正在使用的div信息和激活.do的方式编辑文章。@cjaredrun:两个元素具有相同id是无效的。第一种情况下,jQuery可能会因此而卡住。第二种情况是显式选择按钮,在您的情况下没有歧义。在这种情况下,我将href元素从id切换到name?我尝试了,结果也是一样。当我尝试$+id.fadeOut/。。。它刷新到发送do的父div中,而不是特定的div。另外,您给出的替代/更好的示例也会有相同的结果,加载$this;是否只需在单击按钮的div中重新加载,否?@cjaredrun:您要重新加载的div是否具有do类,还是具有do类的父级?如果父元素具有do类,则应将选择器从.do更改为.do>div.i,并使用我正在使用的div信息和激活.do的方式编辑文章。@cjaredrun:两个元素具有相同id是无效的。第一种情况下,jQuery可能会因此而卡住。第二种情况是显式选择按钮,在您的情况下没有歧义。在这种情况下,我将href元素从id切换到name?我试过了,结果也一样。