jQuery:准备好文档后,“ addClass不能按id工作”

时间:2019-03-08 17:12:54

标签: javascript jquery

我遇到了问题,请尝试再解决两天。 尝试这样做:

$.when( $(document).ready ).then(function func_fold () {
  $( "#collapsible_sidebar" ).addClass('folded');    
})

像这样:

$(document).ready(function func_fold () {
  $( "#collapsible_sidebar" ).addClass('folded');    
})

也是如此:

$(document).ready(function() {
  $( "#collapsible_sidebar" ).addClass('folded');    
})

尝试使用.hide()来查看工作选择器,但它也不起作用。但是当我打开DOM时,我可以看到此元素和此ID。

警告! 我认为这很重要,该div是通过AJAX添加到DOM的。

HTML元素:

<div id="collapsible_sidebar"><?php dynamic_sidebar( 'sidebar-1' ); ?></div>

1 个答案:

答案 0 :(得分:12)

如果要通过AJAX将其添加到DOM,则意味着它是在$(document).ready()之后的某个时间添加的。 AJAX代表“异步Java语言和XML”,异步意味着当服务器可以访问它时,它将在自己的时间执行。如果要执行添加的类,则需要在AJAX调用的$("#collapsible_sidebar").addClass('folded');函数中放入success

$.ajax({
    //other parameters
    success: function () {
        $("#collapsible_sidebar").addClass('folded');
    }
});