<ul>
<li></li>
<li></li>
<li></li>
</ul>
<script>
var a = {
ul:document.getElementsByTagName("ul")[0],
li:this.getElementsByTagName("li")//这样的话,会报错,//如果只是this会指向window,该如何把this引用变量a
}
console.log(a.li)
</script>
var a = {
ul: document.getElementsByTagName("ul")[0],
getLi: function() {
return this.ul.getElementsByTagName("li");
}
};
将li
属性变成getLi
方法,这样,方法里的this
就指向了方法的拥有者a
。其实,要获取已有属性一般都会用方法而不是定义一个新属性来获得。
另外,也可以不使用this
:
var ul = document.getElementsByTagName("ul")[0];
var a = {
getUl: function() {
return ul;
},
getLi: function() {
return ul.getElementsByTagName("li");
}
};