Javascript 什么是;这";当在函数括号中使用时,您会这样做吗?
我有一个带有三个按钮的简单页面。我想做一个函数,点击一下就可以改变我页面的背景色。所以我设法让它工作了 我基本上想知道,当我在我的changecolor括号中使用“this”时,它到底是做什么的 我有一种感觉,但我需要更客观的知识 我的HTML:Javascript 什么是;这";当在函数括号中使用时,您会这样做吗?,javascript,html,css,Javascript,Html,Css,我有一个带有三个按钮的简单页面。我想做一个函数,点击一下就可以改变我页面的背景色。所以我设法让它工作了 我基本上想知道,当我在我的changecolor括号中使用“this”时,它到底是做什么的 我有一种感觉,但我需要更客观的知识 我的HTML: <!DOCTYPE html> <html> <head> <title>Panel</title> <link rel="stylesheet"
<!DOCTYPE html>
<html>
<head>
<title>Panel</title>
<link rel="stylesheet" type="text/css" href="style.css"></link>
<script src="javascript.js"></script>
</head>
<body>
<h1>THIS IS SOME TEXT</h1>
<h2>This is some more text</h2>
<button class="buttons" id="button1" onclick="changecolor(this)">;P</button>
<button class="buttons" id="button2" onclick="changecolor(this)">;]</button>
<button class="buttons" id="button3" onclick="changecolor(this)">;)</button>
</body>
</html>
我的javascript:
function changecolor(clickedButton){
if(clickedButton.id == "button1"){
document.body.style.backgroundColor="lightgreen";
}
if(clickedButton.id =="button2"){
document.body.style.backgroundColor="gray";
}
if(clickedButton.id =="button3"){
document.body.style.backgroundColor="lightblue";
}
}
提前谢谢你 它将单击元素的引用发送到javascript函数。它将单击元素的引用发送到javascript函数。
此
指的是按钮元素本身。此
指的是按钮元素本身。此
指的是发生在
在这种情况下,在
changecolor()
内,clicked按钮将引用已单击的
对象。此
引用在上发生的
在这种情况下,在changecolor()
中,clicked按钮将引用已单击的
对象
在JavaScript中,这个
总是指我们正在使用的函数的“所有者”
执行,或者更确切地说,对函数作为方法的对象执行。
当我们在页面中定义忠实的函数doSomething()时
所有者是页面,或者更确切地说,是的窗口对象(或全局对象)
JavaScript。不过,onclick属性属于HTML元素
它属于我
通过-
在JavaScript中,这个
总是指我们正在使用的函数的“所有者”
执行,或者更确切地说,对函数作为方法的对象执行。
当我们在页面中定义忠实的函数doSomething()时
所有者是页面,或者更确切地说,是的窗口对象(或全局对象)
JavaScript。不过,onclick属性属于HTML元素
它属于我
通过-这将更改文档正文的背景色。“this”与此按钮或对象中的“this”相同,它正在更改文档正文的背景色。“这个”和这个按钮或对象一样,仅供参考:[
=括号,(
=括号,{
=花括号)这个问题肯定有重复的地方。@Zeta…我知道你在那里做了什么:-)@Phlume:那双关语根本不是故意的。@AndrewLyndem:Phlume认为我的评论是一个糟糕的双关语,因为你可以把它当作一个词来读“这个
问题肯定有一个重复的。
[=括号,(
=括号,{
=花括号)这个问题肯定有一个重复的。@Zeta…我知道你在那里做了什么:-)@Phlume:那个双关语不是偶数(t)有意的。@AndrewLyndem:Phlume认为我的评论是一个糟糕的双关语,因为你可以把它理解为“这个问题肯定有重复的”。
function changecolor(clickedButton){
if(clickedButton.id == "button1"){
document.body.style.backgroundColor="lightgreen";
}
if(clickedButton.id =="button2"){
document.body.style.backgroundColor="gray";
}
if(clickedButton.id =="button3"){
document.body.style.backgroundColor="lightblue";
}
}