繁体   English   中英

jQuery:在用ajax加载的元素上更改CSS?

[英]jQuery: Changing the CSS on an element loaded with ajax?

我需要改变我用ajax加载的元素的位置。 我想使用.css()来改变它,但jQuery找不到元素,因为它没有被识别。 我如何让jQuery“识别”元素?

我已经阅读了关于live()delegate()但我不能让它们中的任何一个按照我的要求工作。 我真的很感激一些帮助!

在ajax调用的completesuccess函数中进行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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM