这是一个对我有意义的陈述
var x = object.function();
变量x的值等于对象函数的返回值。
或
var y = object.property;
变量y的值等于对象的属性。
但我不明白以下代码:
document.getElementById("demo").innerHTML = "Paragraph changed!";
在上面,对象document
正在调用ITS方法getElementById()
。哪个返回一个调用ITS对象属性demo
的HTML对象innerHTML
?这是对的吗?
这是一个令人困惑的陈述......
<button onclick="getElementById('demo').innerHTML=Date()">What is the time?</button>
在上面的代码中,innerHTML属性是否属于HTML Object Element演示?如果是这样,那么getElementById()方法属于哪个对象?
对OOP和Javascript不熟悉我无法围绕object.function.property;
语句的概念进行总结。或function.property;
陈述。
答案 0 :(得分:0)
getElementById()
方法属于document
对象。
答案 1 :(得分:0)
在javascript中,如果您愿意,每个函数/代码块都在范围或上下文中执行。该范围由关键字this
引用。因此,当您尝试访问某个变量或调用某个函数时,应该在该范围内声明它,否则在全局范围内查找它,即window
对象。当您按照指定的方式分配onclick
处理程序时,javascript块getElementById('demo').innerHTML=Date()
的范围将是按钮本身,它属于文档,其中指定了函数getElementById
。因此,您正在调用getElementById
对象指定的函数document
,就像在前面的示例中一样,而不是将它的innerHTML
属性分配给新的字符串值创建了对象new Date()
。
但是,正确的实现应该如下所示(假设您使用的是jQuery)
// Call the function after the DOM is ready
$(function() {
// Find the button on the page
$("button")
.click(function() { // Assign the handle for the click event
// Finds the div on the page and assign its innerHTML
$("#demo")[0].innerHTML = new Date();
});
})
答案 2 :(得分:0)
document.getElementById(&#34; demo&#34;)是DOM对象引用的Dom元素, innerHTML 是该对象的属性。
答案 3 :(得分:0)
考虑一下
var x = object.function();
其中,在您的问题中等同于
var DOMObject = document.getElementById("demo"); // ----------- (1)
现在,这个
var y = object.property;
相当于
var InnerHtml = DOMObject.innerHTML; // ----------- (From 1)
所以,在一天结束时,
document.getElementById("demo").innerHTML = "Paragraph changed!";
只是一种简单的做法
var DOMObject = document.getElementById("demo");
DOMObject.innerHTML = "Paragraph changed!";