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

发布于 2024-11-26 15:43:58 字数 211 浏览 0 评论 0原文

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

我读过有关 live()delegate() 的内容,但我无法让它们按照我希望的方式工作。我真的很感激一些帮助!

I need to change the position of an element i'm loading with ajax. I want to use .css() to change it but jQuery can't find the element cause it's not being recognized. How do i do to make jQuery "recognize" the element?

I've read about live() and delegate() but i can't get neither one of them to work as i want them to. I'd really appreciate some help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

戒ㄋ 2024-12-03 15:43:58

在 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。

Make the css change in the complete or success function of the ajax call. Assuming you're using load:

$('#el').load(
    url,
    data,
    function(){
        $('#selector').css('position', 'absolute');
    }
);

Alternatively (and easier to give as an example) register an ajaxComplete event

$(document).ajaxComplete(function(){
    if($('#elementID').length != 0) {
        $('#elementID').css('position', 'absolute');
    }
});

This is fired each time an ajax request completes, checks to see if #elementID exists and if so applies the css.

掀纱窥君容 2024-12-03 15:43:58

如果您必须在 js 变量中进行标记,那么您可以按如下方式进行。

$(markup).find("requiredElement").css({ set the properties here });

If you have to markup in a js variable then you can do it as below.

$(markup).find("requiredElement").css({ set the properties here });
爱已欠费 2024-12-03 15:43:58

如果你想编辑它的CSS,你需要先将它放在DOM中,然后再操作它。

例子:

$.ajax({
    ...
    success:function(data){
        $('<div/>').appendTo('body').html(data).css('border','3px solid red');
    }
});

If you want to edit it's CSS, you need to place it in the DOM first, then manipulate it.

Example:

$.ajax({
    ...
    success:function(data){
        $('<div/>').appendTo('body').html(data).css('border','3px solid red');
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文