首页 > 解决方案 > jQuery 中的数据属性无法正常工作

问题描述

所以我一定在这里遗漏了一些东西,但是在阅读和查看演示之后,这拒绝工作。这是一个让它工作的基本演示,但它仍然没有。我已经尝试了很多组合来达到这个目的:

data('total-contract-act')
data('totalContractAct')
data('totalcontractact')

alert( $('table.wip-detail-list').data('totalContractAct') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="wip-detail-list">
  <tr>
    <td class="col-sm-3 data-actual" data-total-contract-act="880.00">$880.00</td>
  </tr>
</table>

标签: jquery

解决方案


data-total-contract-act属性在 中,而<td>不是<table>. 您需要选择正确的元素。

console.log( $('table.wip-detail-list td.data-actual').data('totalContractAct') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="wip-detail-list">
  <tr>
    <td class="col-sm-3 data-actual" data-total-contract-act="880.00">$880.00</td>
  </tr>
</table>

console.log( $('table.wip-detail-list td.data-est').data('hoursEst') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="wip-detail-list">
  <tr>
    <td class="col-sm-1 icon">icon</td>
    <td class="col-sm-5 title">Hours</td>
    <td class="col-sm-3 data-actual" data-hours-act="-">-</td>
    <td class="col-sm-3 data-est" data-hours-est="195.00">195.00</td>
  </tr>
</table>


推荐阅读