Javascript 页面加载后的Jquery addClass

Javascript 页面加载后的Jquery addClass,javascript,jquery,Javascript,Jquery,我想知道,为什么jQuery代码在页面呈现之后执行addClass函数 我有一些元素(h1)定位为绝对。此元素有规则: left: 60%; 和简单的JS: $(document).ready(function() { $('#test').find('header').find('h1').addClass('move'); }) CSS: 现在,问题是:为什么在页面加载时,h1元素第一个向左移动60%,但在加载后第二个,由于move类,它向左移动了40%。 这个效果看起来很糟糕,

我想知道,为什么jQuery代码在页面呈现之后执行
addClass
函数

我有一些元素(
h1
)定位为绝对。此元素有规则:

left: 60%;
和简单的JS:

$(document).ready(function() {
    $('#test').find('header').find('h1').addClass('move');
})
CSS:

现在,问题是:为什么在页面加载时,
h1
元素第一个向左移动60%,但在加载后第二个,由于
move
类,它向左移动了40%。 这个效果看起来很糟糕,因为
h1
元素现在在页面上显示了替换效果

我想把这个元素放在左边40%,这样用户就看不到“移动效果”

问候,,
Marek.

关于
$(document).ready()的全部要点;它在呈现页面后执行。如果不希望用户看到更改,则需要在CSS中设置样式,或者在JS中设置类后仅显示元素。

使用
$(document).load(function(){//your code})
而不是document ready函数。

此addClass函数在页面呈现后调用,因为您已将其写入document.ready()中。而是将其写入打开的脚本块,以便在html之后加载。

当加载了DOM(文档对象模型)时,会发生就绪事件

由于此事件发生在文档准备就绪之后,因此它是一个拥有所有其他jQuery事件和函数的好地方

ready()


因此,您必须设置样式css

为什么要设置为元素样式
左:60%
,而不是直接设置
左:40%
??对于某些页面,这应该有60%,并且由于我无法编辑html,我需要使用JS移动其他页面的元素。因此,这应该在呈现页面客户端之前设置,这意味着它应该在服务器端完成。如果您能够编辑css,只需使用下面更具体的选择器
#test header h1{left:60%;}
right,我将首先隐藏元素,然后它们添加类并显示。谢谢
.move {
    left: 40%
}