【发布时间】:2020-06-21 03:45:33
【问题描述】:
每次单击导航链接并删除旧链接时,如何在 DOM 中显示新内容。我点击的时候是一个接一个的获取内容,我想删除旧的,显示我点击的那个等等。 我正在使用数据库中的数组。 这是代码:
$(dataItems).on('click', 'li a', function (event) {
event.preventDefault();
let id = $(this).attr('data-code'); // sort them by their data-code
const childrenItems = []; // push the sorted array items from db to this array
for (let i = 0; i < Assortments.length; i++) { // This is the array from DB
if (Assortments[i].AssortimentParentID == id) {
childrenItems.push(Assortments[i].Name);
}
}
//draw html table
let perrow = 3, // 3 items per row
count = 0, // flag for current cell
table = document.createElement("table"),
row = table.insertRow();
for (let i of childrenItems) {
let cell = row.insertCell();
cell.innerHTML = i;
count++;
if (count%perrow == 0) {
row = table.insertRow();
}
}
document.querySelector(".deposit-container").appendChild(table);
})
prnt.sc/rdnavd - 这是它的样子,你可以看到有 2 个表格,我点击了 2 个不同的类别,我希望在点击一个类别时只显示一个表格并删除之前点击的另一个。
【问题讨论】:
-
我不明白为什么你需要这种代码。如果您需要为刚刚添加到 DOM 的新元素添加新的事件侦听器。只需定义像
$('body').on('click', '#your-selector', function)这样的监听器。如果您仍然需要按照自己的意愿进行操作。您可以使用MutationObserver满足您的需求 -
prnt.sc/rdnavd - 这就是它的外观,你可以看到有 2 个表格,我点击了 2 个不同的类别,我希望在点击一个类别时只显示一个表格并删除之前点击的另一个表格.
-
请提供 jsFiddle 或 codepen 的工作示例。那样会更容易找到解决方案。
-
代码大概有400行,别以为我能做到。我唯一能提供的是上面的代码。谢谢!
标签: javascript jquery dom events listener