我有一个附加到 div#Browse
的 click 事件的函数,它将变量 isOpen 切换为 true 或 false。另一个点击事件有以下语句
alert($("#Browse").attr('isOpen'));
alert(document.getElementById('Browse').isOpen);
第一个产生“未定义”,而第二个产生真或假并且是正确的。如何使用 jQuery 获取 isOpen 的值?
我有一个附加到 div#Browse
的 click 事件的函数,它将变量 isOpen 切换为 true 或 false。另一个点击事件有以下语句
alert($("#Browse").attr('isOpen'));
alert(document.getElementById('Browse').isOpen);
第一个产生“未定义”,而第二个产生真或假并且是正确的。如何使用 jQuery 获取 isOpen 的值?
使用数据属性来设置和获取数据:
// to set
$("#Browse").data('isOpen', true)
// to get
$("#Browse").data('isOpen')
文档
data
方法 - http://api.jquery.com/data/没有“jQuery 方式”可以做到这一点,因为isOpen
它是一个临时属性。如果您能够更改属性的设置方式,请遵循 Chris 回答中的建议。
否则,最接近的方法是使用 jQuery 获取 DOM 元素,然后将其解包:
alert($("#Browse")[0].isOpen);
使用新版本的 jQuery,您需要使用它.prop
来获取它。
alert($("#Browse").prop('isOpen'));
要访问 jQuery 中的 dom 元素,您必须通过其在 jQuery 集合中的索引来获取该元素:使用 id,希望您的集合中只有一个元素,因此您可以使用get(0)
$('#Browse').get(0).isOpen;
要更方便地设置 jQuery 元素的属性,只需使用data
方法