javascript - 使用 JQuery On Change 事件访问多个元素数据属性
问题描述
我正在尝试创建一种重新排列菜单项的方法。我正在使用这个 Github 库:https ://github.com/ShinDarth/Nestable
我添加了两个数据属性data-parent
和data-sub
我的<li>
.
我试图在重新排列项目时更新这些属性。
因此,如果将项目作为子项放置,则其数据属性 ,data-parent
将是data-id
其父项的 。对此进行扩展,父项自己的data-sub
将变为 true or 1
,这意味着它具有子项。
取消养育孩子,会将父母和孩子的data-parent
anddata-sub
设置为 0。因为两者都没有子对象或父母。
例子:
拿这两个项目。请注意data-parent
和data-sub
都设置为零。
<div class="dd nestable">
<ol class="dd-list">
<li class="dd-item" data-id="1" data-name="MenuName1" data-sub="0" data-parent="0" data-new="0" data-deleted="0">
<div class="dd-handle">MenuName1</div>
</li>
<li class="dd-item" data-id="2" data-name="MenuName2" data-sub="0" data-parent="0" data-new="0" data-deleted="0">
<div class="dd-handle">MenuName</div>
</li>
</ol>
</div>
使用Nestable库MenuName2
作为子级移动MenuName1
会导致以下结果。
<div class="dd nestable">
<ol class="dd-list">
<li class="dd-item" data-id="1" data-name="MenuName1" data-sub="1" data-parent="0" data-new="0" data-deleted="0">
<div class="dd-handle">MenuName1</div>
<ol class="dd-list">
<li class="dd-item" data-id="2" data-name="MenuName2" data-sub="0" data-parent="1" data-new="0" data-deleted="0">
<div class="dd-handle">MenuName</div>
</li>
</ol>
</li>
</ol>
</div>
在上面的代码中,
MenuName1 -
data-sub="1"
(因为它有一个孩子)MenuName2 -
data-parent="1"
( 1,是data-id
父级的,在本例中为 1)
我认为该onChange()
活动将是更新的好地方。但我似乎无法访问任何数据元素。
$('.dd').on('change', function (e) {
/* on change event */
var target = $(e.target);
console.log("reordered " + JSON.stringify(e));
});
如何访问父母和孩子的数据属性来操作它们?
解决方案
根据github网站示例,您应该使用
$('.dd.nestable').on('change', .... )
这可能是您的解决方案吗?
推荐阅读
- javascript - 如何覆盖 Material-UI 切换按钮样式
- javascript - JS通过嵌套数组中的值过滤数组项
- python - 正则表达式处理不同数量的变量
- c# - 金额以小数点后第 3 位四舍五入至小数点后 2 位
- sharepoint - 在 PowerApps 中查询超过 5k 的 SharePoint 列表,每个项目具有唯一权限
- javascript - 钩子和网络工作者
- angular - Angular 无法绑定到“产品”,因为它不是“应用产品卡”的已知属性
- javascript - JavaScript 仅显示 2 位小数而没有完整值
- sql - 分组数据的最高排名值
- rest - 需要微软合作伙伴中心 API 401 MFA