如果我单击 fa 图标,我有一个带有两个 td 列的代码
<i class="fa pad5 fa-unlock-alt" ></i>
然后我需要更改data-invoice-lock="0"
。
我试过这个
$(this).closest('td').find('.invoiceCostCol').attr('data-invoice-lock','0');
但没有得到结果
输入
<td rowspan="1" class="reportSmallWd invoiceCostCol" data-invoice-lock="1"></td>
<td rowspan="1" class="reportSmallWd">
<i class="fa pad5 fa-unlock-alt" ></i>
</td>
所需的输出
<td rowspan="1" class="reportSmallWd invoiceCostCol" data-invoice-lock="0"></td>
<td rowspan="1" class="reportSmallWd">
<i class="fa pad5 fa-unlock-alt" ></i>
</td>
最佳答案
最接近的目标td
是tr
。您应该将 closest('td')
更改为 closest('tr')
。代码应更改为
$(this).closest('tr').find('.invoiceCostCol').attr('data-invoice-lock','0');
或者使用
$(this).parent().prev().attr('data-invoice-lock','0');
如果你的 html 结构是不变的。
关于javascript - 如何在 jQuery 中更改相邻 td 的数据属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45607467/