Discuss / JavaScript / 看了两个小时才发现有坑

看了两个小时才发现有坑

Topic source

alienation

#1 Created at ... [Delete] [Delete and Lock User]

如果append里头是字符串表示的html语句,即使与已有的html语句相同,也不会被视为同一个,从而会导致有重复的dom

只要源头是字符串,就视为新的dom

所以要避免这种情况,就必须确保不想重复的dom必须是用jQuery或原始选择语句选下来的对象

var ul = $("#test-div>ul");
ul.append("<li><span>Pascal</span></li>");
ul.append("<li><span>Lua</span></li>");
ul.append("<li><span>Ruby</span></li>");
var li = ul.find("li");
li.sort((x, y) => {
    return $(x).text() < $(y).text() ? -1 : 1;
});
ul.append(li);

  • 1

Reply