我正在使用Mutation Summary library观察何时添加了特定类型的元素,然后将html元素附加到每个元素:
var observer = new MutationSummary({
callback: theNextPageLoaded,
queries: [{
element: "li.sweet"
}]
});
function theNextPageLoaded(summaries) {
var sc = summaries[0],
sc_length = sc.added.length,
btn = $('<button>', {
class: 'my_btn',
text: 'Please work!'
});
sc.added.forEach(function(newEl) {
newEl.appendChild(btn);
console.log(typeof(newEl)); //newEl's type is 'object'
});
}
上面的代码不起作用。我不确定我甚至可以在对象上使用appendChild
。任何帮助将不胜感激!
答案 0 :(得分:1)
你的问题是将Mutation Summary response和jQuery元素中的“裸”DOM元素混合在一起。纯DOM appendChild
无法理解您的jQuery包装btn
。
所以,你需要让它们都是相同的类型:
$(newEl).append(btn); // jQuery
newEl.appendChild(btn.get(0)); // pure DOM
要么有效,但第一个可能更惯用。