javascript - 如何在 jQuery 中更改相邻 td 的数据属性?

标签 javascript jquery html html-table

如果我单击 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>

最佳答案

最接近的目标tdtr。您应该将 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/

相关文章:

javascript - 如何使用 Ajax 通过复选框将对象移动到另一个范围?

javascript - 单击 <h1> 时展开 <p>

javascript - 使用下拉菜单选择并显示一个图表

javascript - 拦截输入输入

javascript - onclick 显示 div 并在几秒钟后隐藏我显示的 div

javascript - 无法获取哈希密码以使用 bcrypt 保存

javascript - PhantomJS 在第一页跳过标题

javascript - 从 webpack 缩小中排除模块

javascript - Dojo:选项[选定的 ='selected' ] 不适用于运行时更改

html - 仅当所选元素是 CSS 中特定父元素的第一个子元素时,样式才会应用