【问题标题】:jQuery - How do you store and access an object within another objectjQuery - 你如何在另一个对象中存储和访问一个对象
【发布时间】:2010-03-01 11:56:04
【问题描述】:

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

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


});

【问题讨论】:

    标签: jquery object attributes


    【解决方案1】:

    使用 data() 代替 attr() ;)

    【讨论】:

      【解决方案2】:

      使用 jQuery attr 函数将变量存储为元素的属性。如果你想存储比字符串更复杂的东西,请使用.data

      【讨论】:

        【解决方案3】:

        属性是用来存储文本的,不是javascript对象,使用jquery你可以用.data代替

        【讨论】:

          猜你喜欢
          • 2013-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-12
          • 1970-01-01
          相关资源
          最近更新 更多