HTML使用此更改不透明度onload将无法正常工作

Mat*_*mik 3 html javascript css jquery

我有一个像这样的代码:

<body style='opacity:0' onload='this.style.opacity=1'>
Run Code Online (Sandbox Code Playgroud)

一旦加载完毕,我想改变身体的不透明度.有没有理由this不行.我可以改变this不透明度吗?如果我通过标签引用body它将起作用.例如,使用jquery:

<body style='opacity:0' onload='$("body")[0].style.opacity=1'>
Run Code Online (Sandbox Code Playgroud)

会工作但是:

<body style='opacity:0' onload='$(this)[0].style.opacity=1'>
Run Code Online (Sandbox Code Playgroud)

不管用.我可以用this某种方式吗?

Zak*_*rki 8

有没有理由'这'不起作用.

this内部没有任何背景onload,为什么它不起作用.

如果我通过标签'body'引用它将起作用

$("body")[0]指的是它为何起作用的身体,你也可以使用它document.body.

当我onload='alert(this)'为什么得到一个object

由于this全局范围内的关键字是指window对象.


因为你正在使用jQuery,你可以避免使用内联事件而ready不是使用函数,onload并使用css()以下方法更改样式:

//When the page is fully loaded
$(function(){
    //Change the opacity to 1
    $("body").css('opacity','1');
});
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.