首页 > 解决方案 > 通过另一个数据属性作为标识符获取元素的数据属性

问题描述

我动态创建了没有 id 的元素,但有一个数据属性 id,例如:data-jobtypid="2"

这个动态创建的元素有其他数据属性,我想阅读这些数据属性,我只知道data-jobtypid所有动态创建的元素的 as 标识符和类名。

所以我尝试了这样的事情:

var cache_color = $('.addjob_choose_paymentbtn')
                   .filter('[data-jobtypid="2"]')
                   .getAttribute("data-jobtypcolorhover");

有人有想法让我解决这个问题吗?

问候

标签: javascriptjqueryhtml

解决方案


只需使用属性选择器结合$.data()

var cache_color = $('.addjob_choose_paymentbtn[data-jobtypid="2"]')
  .data('jobtypcolorhover');

console.log(cache_color);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="addjob_choose_paymentbtn" data-jobtypid="2" data-jobtypcolorhover="red">div</div>

您也可以使用.attr('data-jobtypcolorhover'),这是在 jQuery 中访问属性的正确方法,如上面的评论中所述。然而,$.data()是一个微小的节拍清洁器。


推荐阅读