获取函数jQuery设置的属性

Getting attribute set by a function jQuery

本文关键字:属性 设置 jQuery 函数 获取      更新时间:2023-11-05

我在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')

文档

  • jQuery 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方法