0

我有一个附加到 div#Browse的 click 事件的函数,它将变量 isOpen 切换为 true 或 false。另一个点击事件有以下语句

alert($("#Browse").attr('isOpen'));
alert(document.getElementById('Browse').isOpen);

第一个产生“未定义”,而第二个产生真或假并且是正确的。如何使用 jQuery 获取 isOpen 的值?

4

4 回答 4

1

使用数据属性来设置和获取数据:

// to set
$("#Browse").data('isOpen', true)

// to get
$("#Browse").data('isOpen')

文档

于 2012-07-17T15:25:55.510 回答
1

没有“jQuery 方式”可以做到这一点,因为isOpen它是一个临时属性。如果您能够更改属性的设置方式,请遵循 Chris 回答中的建议

否则,最接近的方法是使用 jQuery 获取 DOM 元素,然后将其解包:

alert($("#Browse")[0].isOpen);
于 2012-07-17T15:26:56.080 回答
0

使用新版本的 jQuery,您需要使用它.prop来获取它。

alert($("#Browse").prop('isOpen'));
于 2012-07-17T15:30:12.823 回答
-1

要访问 jQuery 中的 dom 元素,您必须通过其在 jQuery 集合中的索引来获取该元素:使用 id,希望您的集合中只有一个元素,因此您可以使用get(0)

$('#Browse').get(0).isOpen;

要更方便地设置 jQuery 元素的属性,只需使用data方法

于 2012-07-17T15:27:47.443 回答