请您查看this demo并告诉我为什么我无法在每个复选框检查中获取自定义属性数据值?
$('.styles-control').change(function () {
console.log(this.data('style'));
});
<input type="checkbox" class="styles-control" data-style="road">Roads
<br />
<input type="checkbox" class="styles-control" data-style="poi">Poi
<br />
<input type="checkbox" class="styles-control" data-style="water">Water
<br />
<input type="checkbox" class="styles-control" data-style="transit">translink
<br />
答案 0 :(得分:1)
.data
是一个jQuery方法,在jQuery中包装this
console.log($(this).data('style')); //this.getAttribute("data-style")
答案 1 :(得分:1)
您可以使用dataset.style:
$('.styles-control').change(function () {
console.log(this.dataset.style);
});
$('.styles-control').change(function () {
console.log(this.dataset.style);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" class="styles-control" data-style="road">Roads
<br />
<input type="checkbox" class="styles-control" data-style="poi">Poi
<br />
<input type="checkbox" class="styles-control" data-style="water">Water
<br />
<input type="checkbox" class="styles-control" data-style="transit">translink
<br />