的HTML:为什么创建这个javascript对象文字时我不能使用'this'?
<div id="slide">
<div>This is one</div>
<div>This is two</div>
<div>This is three</div>
</div>
的JavaScript:
var slider = {
div: document.getElementById("slide"),
divs: this.div.getElementsByTagName("div")
};
alert(slider.divs.length);
的jsfiddle:http://jsfiddle.net/CAzN8/
当我运行此目的,Chrome说this.div
是不确定的。这里有什么问题?
[更新]我发现,如果我的代码更改为:
var tmp = document.getElementById("slide");
var slider = {
div: tmp,
divs: tmp.getElementsByTagName("div")
};
它的工作原理。但为什么第一个案件不能运作?
这是*文字对象*,而不是“JSON对象”。 JSON是一种用于表示数据的文本格式,所以这个问题根本不在于使用JSON。 – Guffa 2011-05-05 05:13:28
@Guffa JSON = JavaScript对象表示法。由于这是JavaScript,并且代码使用JavaScript的(文字)对象表示法,所以我认为您会发现这实际上是JSON。 – tobyodavies 2011-05-05 05:14:58
@Guffa谢谢,但这个问题仍然可以使用更好的标题。也许是“为什么我不能在创建这个javascript对象时使用'this'? – Paul 2011-05-05 05:18:34