jQuery - 如何在另一个对象中存储和访问一个对象

标签 jquery object attributes

我试图将一个对象存储为另一个对象中的属性,但似乎无法访问它。 可能吗?

<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>

答案:下面的人说得对

$(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!!


});

最佳答案

使用 data() 而不是 attr() ;)

关于jQuery - 如何在另一个对象中存储和访问一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2355550/

相关文章:

javascript - 触发我自己的 jQuery 函数

javascript - 将 div 高度设置为与最高高度相同,同时保持响应式布局

jquery - 去除多选默认背景

javascript - 第一次单击的 jquery ajax 表单提交请求不起作用,可能的原因是什么

JavaScript 对象 : access variable property by name as string

php - 在 PHP 中创建多级类

c# - 以编程方式向方法或参数添加属性

java - Java 中的列表和 map

jquery标题属性文本弹出隐藏

c# - 在自定义属性和方法之间共享数据