我正在制作一个来自ajax的列表,该部分工作得很好。我也检查sreenwidth并相应地改变一些我的div的宽度,但不能得到,当我使用AJAX它的工作...jquery css不会与ajax一起工作
这里是我做的:
$(document).ready(function(){
var screenwidth = $(window).width();
swidth = screenwidth - 20;
$("#thelist li").css("width", swidth+"px");
$.getJSON('linktomyphppage.php', function(data) {
var array = [];
$.each(data, function (i, val){
array.push($("#thelist").append("<li>"+val.fname+" "+val.lname+"</li>"));
});
});
});
我的JSON的样子这个:
[{"fname":"Peter","lname":"Hanson"},{"fname":"Michael","lname":"Bird"}]
json部分工作得很好,但它就像它根本没有得到CSS部分。如果我这样做,这样它的工作原理,但我不使用JSON:
for (var i = 0; i < 2; i++) {
array.push($("#thelist").append("<li>"+val.fname+" "+val.lname+"</li>"));
}
盼望的帮助,在此先感谢:-)
我想这是因为你在创建之前使用'#thelist li'只需改变jQuery CSS的位置并将它放在最后.. – Bhavik
你能用一个例子来构建一个JsFiddle吗?具有swidth的console.log显示什么?也许你没有从swidth得到有效的回应?并且你也应该''var varidth'''也不认为这是问题 – alonisser
'css()'将'style'属性添加到元素中,所以新元素不会拥有它。只需将css部分移至json请求回调的末尾即可。 –