无法显示之后添加的元素

时间:2011-10-18 15:46:25

标签: javascript jquery html

我有页面,它会显示我们的产品,所以它会加载一些图像和数据,如果我一次加载它会很大,所以我决定用Ajax做它并通过jQuery来做,这里是我的代码:

var static = 1;
$('.carousel-next').live('click',function(){
$(this).attr("disabled", false);
var pos_eq = static++;
var url = 'ajax/ajax.php?count=' + pos_eq;
if ($('.myList').children('li').length <= pos_eq) 
{
$.getJSON(url,function(data){
  if (data[0] != 404)
  {
$('.myList').append(data[0]);
$('.myList').children('li').eq(pos_eq).children(".stagger").css({"left":"1200px"});
$('.myList').children('li').eq(pos_eq).children(".imac").css({"left":"1200px"});
$('.myList').children('li').eq(pos_eq).children(".stagger").animate({"left":"65px","effect":"slide"},500);
$('.myList').children('li').eq(pos_eq).children(".imac").animate({"left":"350px","effect":"slide"},700); 
  }
});
}
else
{
$('.myList').children('li').eq(pos_eq).children(".stagger").css({"left":"1200px"});
$('.myList').children('li').eq(pos_eq).children(".imac").css({"left":"1200px"});
$('.myList').children('li').eq(pos_eq).children(".stagger").animate({"left":"65px","effect":"slide"},500);
$('.myList').children('li').eq(pos_eq).children(".imac").animate({"left":"350px","effect":"slide"},700); 
}
});

$('.carousel-previous').live('click',function(){
$(this).attr("disabled", false);
var pos_eq2 = static--;
if (pos_eq2 < 0)
 pos_eq2 = 0;
$('.myList').children('li').eq(pos_eq2).children(".stagger").css({"left":"-1200px"});
$('.myList').children('li').eq(pos_eq2).children(".imac").css({"left":"-1200px"});      $('.myList').children('li').eq(pos_eq2).children(".stagger").animate({"left":"65px","effect":"slide"},500);  $('.myList').children('li').eq(pos_eq2).children(".imac").animate({"left":"350px","effect":"slide"},700);
});

当我使用它时,它会从ajax.php页面获取数据并将其添加到页面中(我在看完之后看到了源代码)但是它现在将显示它们,下面的部分应该在添加到页面后显示元素,但它不能。

$('.myList').children('li').eq(pos_eq).children(".stagger").css({"left":"1200px"});
$('.myList').children('li').eq(pos_eq).children(".imac").css({"left":"1200px"});
$('.myList').children('li').eq(pos_eq).children(".stagger").animate({"left":"65px","effect":"slide"},500);
$('.myList').children('li').eq(pos_eq).children(".imac").animate({"left":"350px","effect":"slide"},700);

问题出在哪里?

1 个答案:

答案 0 :(得分:0)

Append()需要一个Dom元素,一个HTML字符串或一个Jquery对象才能工作。 所以问题可能在于您的数据。你能告诉我们你从console.log(数据)得到什么输出?