我正在使用DocumentFragment将一些子节点附加到列表中,但我在某些浏览器中遇到了不支持的问题。所以我想知道除了检查浏览器是否在支持的浏览器列表中的方法(或者至少是为我做这项工作的方法)之外还有另一种检查方法吗?
对不起!!!这是我正在使用的代码
var frag = document.createDocumentFragment();
var li = document.createElement('li');
li.className = "folders items";
li.innerHTML = '<a href="'+ f.id +'" title="'+ f.name +'" class="folders">'+icon+'<span class="name">' + name + '</span><span class="details">' + itemsLength + '<span class="desc '+nrMg+'">' + itemsDesc + '</span></span></a>';
frag.append(li);
container.append(frag);
容器是Jquery对象( $('#listF'))
解决:我的错误,我使用的是append(),它似乎在chrome中有效,但在其他浏览器中却没有。在documentFragment上追加元素的正确方法是appendChild()。
工作代码:
var frag = document.createDocumentFragment();
var li = document.createElement('li');
li.className = "folders items";
li.innerHTML = '<a href="'+ f.id +'" title="'+ f.name +'" class="folders">'+icon+'<span class="name">' + name + '</span><span class="details">' + itemsLength + '<span class="desc '+nrMg+'">' + itemsDesc + '</span></span></a>';
frag.appendChild(li);
container.append(frag);