通过另一个数据属性获取元素的数据属性作为标识符

时间:2019-04-08 21:52:27

标签: javascript jquery html5

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

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

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

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

有人帮我解决这个问题吗?

致谢

2 个答案:

答案 0 :(得分:3)

只需结合使用attribute selector$.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()是一个很小的节拍清洁器。

答案 1 :(得分:0)

尝试

let c= document.querySelector('.addjob_choose_paymentbtn[data-jobtypid="2"]')
         .dataset.jobtypcolorhover;

console.log(c);
<div class="addjob_choose_paymentbtn" data-jobtypid="2" data-jobtypcolorhover="blue">Hi</div>