[英]jQuery: Changing the CSS on an element loaded with ajax?
我需要改变我用ajax
加载的元素的位置。 我想使用.css()
来改变它,但jQuery找不到元素,因为它没有被识别。 我如何让jQuery“识别”元素?
我已经阅读了关于live()
和delegate()
但我不能让它们中的任何一个按照我的要求工作。 我真的很感激一些帮助!
在ajax调用的complete
或success
函数中进行css更改。 假设你正在使用load
:
$('#el').load(
url,
data,
function(){
$('#selector').css('position', 'absolute');
}
);
或者(并且更容易作为示例)注册ajaxComplete
事件
$(document).ajaxComplete(function(){
if($('#elementID').length != 0) {
$('#elementID').css('position', 'absolute');
}
});
每次ajax请求完成时都会触发,检查#elementID是否存在,如果是,则应用css。
如果你必须在js变量中进行标记,那么你可以按照下面的方式进行标记。
$(markup).find("requiredElement").css({ set the properties here });
如果你想编辑它的CSS,你需要先将它放在DOM中,然后进行操作。
例:
$.ajax({
...
success:function(data){
$('<div/>').appendTo('body').html(data).css('border','3px solid red');
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.