jQuery的 - 你如何存储和其他对象中访问对象 [英] jQuery - How do you store and access an object within another object

查看:113
本文介绍了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的=服务器>
< D​​IV 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆