Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 变异摘要库:如何将html元素附加到添加的元素_Javascript_Jquery_Google Chrome Extension_Mutation Observers - Fatal编程技术网

Javascript 变异摘要库:如何将html元素附加到添加的元素

Javascript 变异摘要库:如何将html元素附加到添加的元素,javascript,jquery,google-chrome-extension,mutation-observers,Javascript,Jquery,Google Chrome Extension,Mutation Observers,我使用来观察何时添加了特定类型的元素,然后将我的html元素附加到每个元素: var observer = new MutationSummary({ callback: theNextPageLoaded, queries: [{ element: "li.sweet" }] }); function theNextPageLoaded(summaries) { var sc = summaries[0], sc_le

我使用来观察何时添加了特定类型的元素,然后将我的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'
    });
}
var observer=new MutationSummary({
callback:theNextPageLoaded,
查询:[{
元素:“李,甜”
}]
});
函数然后加载下一页(摘要){
var sc=汇总[0],
sc_长度=sc.added.length,
btn=$(''){
班级:“我的”,
文字:“请工作!”
});
sc.added.forEach(函数(newEl){
新儿童(btn);
console.log(typeof(newEl));//newEl的类型是“object”
});
}

上面的代码不起作用。我甚至不确定我是否可以在对象上使用
appendChild
。任何帮助都将不胜感激

您的问题是将来自和jQuery元素的“裸”DOM元素混合在一起。纯DOM
appendChild
不理解jQuery包装的
btn

因此,您需要将它们设置为同一类型:

$(newEl).append(btn); // jQuery
newEl.appendChild(btn.get(0)); // pure DOM
两种方法都可行,但第一种可能更为惯用