单击另一个 dom 元素时,无序列表数据被破坏?页面是用aspx构建的

Posted

技术标签:

【中文标题】单击另一个 dom 元素时,无序列表数据被破坏?页面是用aspx构建的【英文标题】:The Unordered List Data getting destroyed when another dom element is getting clicked? The page is built in aspx 【发布时间】:2022-01-11 01:34:31 【问题描述】:

我正在尝试在来自 API 的无序列表中显示数据。下面是我如何实现它的代码。它工作得很好,数据也会显示出来。但是一旦有人单击任何其他按钮,数据就会消失,就好像列表正在被破坏一样。

<div class="vendorMarketScroll">
     <ul id="vendorMarketList">
     </ul>
</div>

填充列表(vendorMarket 包含来自 API 的数据):

function makeVendorMarketList(vendorMarket) 
            if (vendorMarket && vendorMarket.length > 0)
            
                vendorMarket.sort(function (a, b) 
                return (a.marketName < b.marketName) ? -1 : (a.marketName > b.marketName) ? 1 : 0;
                ); 
                for (var market in vendorMarket) 
                    if(vendorMarket[market].marketName)
                        var z = document.createElement('li');
                        z.innerhtml = vendorMarket[market].marketName;
                        document.getElementById("vendorMarketList").appendChild(z);
                    
                
              
        

请帮助我理解这背后的原因,以及实现这一点的正确方法是什么?

【问题讨论】:

您能否提供一些与导致问题的按钮相关的代码? 它本身不是一个按钮,它是点击事件,或者我相信任何我猜的。例如:我选中/取消选中一个复选框或仅单击该页面的其他按钮。它更像是列表正在被破坏。 我在其他复选框和按钮元素旁边测试了您的代码,没有发现任何问题。 感谢您抽出时间检查,页面是用aspx构建的,对它们没有深入的了解。这可能是原因之一吗? 【参考方案1】:

问题有所不同:页面被加载到许多地方,因此必须从所有地方调用创建函数。

这是我的错误,我是解决方案的新手。

感谢所有投入时间并尝试帮助我的人:)

【讨论】:

以上是关于单击另一个 dom 元素时,无序列表数据被破坏?页面是用aspx构建的的主要内容,如果未能解决你的问题,请参考以下文章

以 HTML 无序列表的形式将数组元素从 html 表移动到另一个数组

Puppeteer:我怎样才能等到列表关闭?如何等到元素从 DOM 中消失?

Internet Explorer:当目标 DOM 元素在 DOM 中移动时,悬停状态变为粘滞状态

如果 DOM 元素被“删除”,AngularJS 控制器会被破坏?

下拉菜单在第一页加载时出现延迟

Markdown快速学习效果展示页