In an earlier question我制定瞭如何將object
作爲properties
存儲。 現在我要當object
通過事件傳遞給訪問這些properties
但無法得到它的工作:jQuery - 從傳遞給事件的另一個對象中訪問對象屬性
<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
var test;
test = $('#test');//the div
jQuery.data(test, "obj", testObject);
//prove it worked and the TestObject is assigned
alert(jQuery.data(test, "obj").testProperty);//works
$('#test').click(TestClick);
//test.click(TestClick); doesn't work either
function TestClick() {
alert($(this).attr("id"));//displays "test" - works
alert(jQuery.data($(this), "obj").testProperty);
//testProperty is null or not an object??
//clearly TestObject is no longer attached to the div, why?
//Or have I attached it the wrong way?
//alert(jQuery.data(this, "obj").testProperty); doesn't work either
};
});
</script>
<body>
<form id="form1" runat="server">
<div id="test">Here is a test div</div>
</form>
</body>
這也行不通,在'jQuery.data()'你存儲的DOM元素的引用仍然不一樣...在正常情況下,你不應該使用'jQuery .Data()',而是'.data()'。 – 2010-03-01 12:54:57