Элемент Html может иметь набор данных и / или атрибут .
. В вашем коде вы получаете значение набора данных и меняете, как если бы это атрибут. Это ваша ошибка.
Подробнее см. .data () и .attr () .
. нужно использовать:
$("td").click(function() {
index=$(this).attr('data-layer');
index = index + 1;
$(this).attr('data-layer',index);
console.log(this);
});
Вместо этого, если вам нужно использовать набор данных:
$("td").click(function() {
index=$(this).data('layer');
index = index + 1;
$(this).data('layer',index);
console.log($(this).data('layer'));
});
td {
border:solid black 1px;
width:50px;
height:50px;
cursor:pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td data-layer="0"></td>
</tr>
</table>