jQuery的 - 你如何存储和其他对象中访问对象 [英] jQuery - How do you store and access an object within another object
本文介绍了jQuery的 - 你如何存储和其他对象中访问对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想存储一个对象作为另一个对象的属性,但似乎无法访问。
这可能吗?
< SCRIPT LANGUAGE =JavaScript的> $(文件)。就绪(函数(){ //创建的TestObject
功能的TestObject(){ this.testProperty =绿色;
} //和它的一个实例
VAR的TestObject =新的TestObject(); //此实例附加到DIV的属性
//如果它可以附加另一种方式或许这就是答案?
$('#测试)ATTR(目标文件,的TestObject)。 警报(testObject.testProperty); //工程 - 明显
警报($('#测试)ATTR(目标文件)testProperty); //不起作用 变种O = $('#测试)ATTR(目标文件)。
警报(o.testProperty); //不起作用 });< / SCRIPT><身体GT;<表ID =form1的=服务器>
< DIV ID =测试>此处是一个测试DIV< / DIV>
< /表及GT;< /身体GT;
答:下面的家伙有它的权利。
$(文件)。就绪(函数(){//创建的TestObject
功能的TestObject(){
this.testProperty =绿色;
}//和它的一个实例
VAR的TestObject =新的TestObject();//此实例附加到DIV的属性
VAR试验;
测试= $('#测试);
jQuery.data(考OBJ的TestObject);警报(testObject.testProperty); //工程 - 明显
警报(jQuery.data(考目标文件)testProperty); //作品!!
});
解决方案
使用数据()而不是ATTR();)
I am trying to store an object as an attribute in another object but can't seem to access it. Is it possible?
<script language="javascript">
$(document).ready(function() {
//create a TestObject
function TestObject() {
this.testProperty = "green";
}
//and an instance of it
var testObject = new TestObject();
//attach this instance to the div as a property
//if it could be attached another way perhaps that's the answer??
$('#test').attr("obj", testObject);
alert(testObject.testProperty);//works - obviously
alert($('#test').attr("obj").testProperty); //does not work
var o = $('#test').attr("obj");
alert(o.testProperty); //does not work
});
</script>
<body>
<form id="form1" runat="server">
<div id="test">Here is a test div</div>
</form>
</body>
Answer: The guys below had it right
$(document).ready(function() {
//create a TestObject
function TestObject() {
this.testProperty = "green";
}
//and an instance of it
var testObject = new TestObject();
//attach this instance to the div as a property
var test;
test = $('#test');
jQuery.data(test, "obj", testObject);
alert(testObject.testProperty); //works - obviously
alert(jQuery.data(test, "obj").testProperty); //works!!
});
解决方案
Use data() instead of attr() ;)
这篇关于jQuery的 - 你如何存储和其他对象中访问对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文