首页 > 解决方案 > 使用 jQuery 时将 data-* 属性设置为未定义

问题描述

当我尝试使用 jquery 访问一些自定义 data-* 属性时,变量设置为未定义。

我为其他 html 属性设置了一堆不同的变量,并且所有没有 data-* 前缀的变量都被正确设置(例如 id = html id)。我的问题是:为什么 data-* html 属性被设置为未定义而内置属性不是?

这是一个私人项目,所以我不能显示太多代码,但我会更改变量名并显示一个片段

 var $elm = $(this);
 var thisID = $elm.attr('id')
 var windowOpen = $elm.attr('data-window-open')
 var className = $elm.attr('class')
 var dataName = $elm.attr('data-name')
 var title = $elm.attr('title')

我还应该提到“this”指的是 html 'a' 元素。

我希望从 data-* 属性中检索 html 属性值。

编辑:这是“this”所指的html元素:

<a class="related-widget-wrapper-link add-related input-group-addon" id=" add_id_{{ name }}" data-window-open="true" data-href-template="{{ add_related_url }}?{{ url_params }}" data-name="addAnotherWindow" title="{% blocktrans %}Add another {{ model }}{% endblocktrans %}">
  </a>

标签: jqueryhtmlmethodsattr

解决方案


推荐阅读