jQuery:更改加载了ajax的元素的CSS?
我需要改变我用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){ $('').appendTo('body').html(data).css('border','3px solid red'); } });