$("#div1").dialog(
{
id:"1",
type:"type1",
args:{w:"100px",h:"50px"},
method:function()
{
//各位大侠,谁能告诉我怎样在这里取到args中的w和h的值,或者说怎样遍历args
}
});
{
id:"1",
type:"type1",
args:{w:"100px",h:"50px"},
method:function()
{
//各位大侠,谁能告诉我怎样在这里取到args中的w和h的值,或者说怎样遍历args
}
});
用args.w 和 args.h
for(var i in o)
alert(i + ":" + o[i]);
method:function()
{
//在这里根本不认识args,报错的
}
var t = {
id:'1',
args:{w:'100px',h:'50px'},
method:function() {
alert(this.args.w);
}
};
t.method();
{
id:"1",
type:"type1",
args:{w:"100px",h:"50px"},
method:function()
{
//各位大侠,谁能告诉我怎样在这里取到args中的w和h的值,或者说怎样遍历args
}
});
你这个问题开始没看明白,你要在method:function()里面取args的值,
我感觉你这个args值一定是传到了dialog这个对象里了,就是这个对象可以取到args,但我没有你的实现代码,你可以去看看他的实现,在method:function()就可以类似于this.args["w"]这样的方法取了,
还有个方法就是你可以把args:{w:"100px",h:"50px"}提到外面,作为全局变量,就都可以引用了,但不建议!
var a={args:{w:"100px",h:"50px"}}
function litralObj(obj){
for(i in obj){
if((typeof obj[i])==="object"){
litralObj(i);
}else{
alert(obj[i]);
}
}
litralObj(a.args);
就6楼和7楼说的,this.args..确实能取到数据,可我我想不明白$("#div1").dialog(
{
id:"1",
type:"type1",
args:{w:"100px",h:"50px"},
method:function()
{
//这里通过this.args确实能取到数据,可是为什么呢?如果说从arguments 中获取很容易理解,
它是参数,不是this对应的方法中的属性啊? 为什么可以用this取呢?
}
});
这里的this是$("#div1")[0]
看来在一个匿名的{a:function(){}}中要想取外面的东西是没辙了,只有把作用域方大一点,在外面声明。
try
$("#div1").dialog(
oo={
id:"1",
type:"type1",
args:{w:"100px",h:"50px"},
method:function()
{
oo.args
// 这里通过this.args确实能取到数据,可是为什么呢?如果说从arguments 中获取很容易理解,
它是参数,不是this对应的方法中的属性啊? 为什么可以用this取呢?
}
});