Firefox addon Firefox扩展的emit.port中的Pass元素

Firefox addon Firefox扩展的emit.port中的Pass元素,firefox-addon,firefox-addon-sdk,firefox-developer-tools,jpm,Firefox Addon,Firefox Addon Sdk,Firefox Developer Tools,Jpm,我需要将元素从一个函数传递到另一个函数,但只有在web服务(AJAX)调用完成之后 内容脚本(popup.js): main js(main.js): html文件(popup.html): 有人能帮我解决如何传递元素的问题吗?或者如果我试图以错误的方式获取元素?您不能发射DOM对象 谢谢你的回复。但是,如果元素是使用JS创建的,并且不确定它们将拥有哪些类,该怎么办呢。把它想象成一个完整的动态。@ignVinayak函数运行这个(elem){我不得不用另一种方式来运行它。但是无论如何,谢谢你,我

我需要将元素从一个函数传递到另一个函数,但只有在web服务(AJAX)调用完成之后

内容脚本(popup.js):

main js(main.js):

html文件(popup.html):


有人能帮我解决如何传递元素的问题吗?或者如果我试图以错误的方式获取元素?

您不能发射DOM对象


谢谢你的回复。但是,如果元素是使用JS创建的,并且不确定它们将拥有哪些类,该怎么办呢。把它想象成一个完整的动态。@ignVinayak
函数运行这个(elem){
我不得不用另一种方式来运行它。但是无论如何,谢谢你,我在尝试和调试上投入了很多时间。终于得到了你的提示。:)
function runThis(){
 var elem = $(".mainelem");
 var objDetails = {
  element : elem
 }
 self.port.emit("runCall", objDetails);
 self.port.on("callComplete", function(response){
  $(response.element).text("New text entered.");
 });
}
main_panel.port.on("runCall", function(obj){
  main_panel.port.emit("callComplete", obj);
});
<div class="mainelem"></div>
{"0":{"query111107803796615637436":15},"context" :{ "query111107803796615637436":15},"length":1}
function runThis(){
 var elem = document.querySelector(".mainelem");
 var objDetails = {
  element : elem.textContent; // Emit string, for example.
 }
 self.port.emit("runCall", objDetails);
 self.port.on("callComplete", function(response){
  elem.textContent = "New text entered.";
 });
}