我正在制作Chrome扩展程序,我需要在弹出窗口加载时为元素添加一些监听器和类。
到目前为止,我已经这样做了:
$("body").ready(main());
我在main函数中添加了元素,问题是,main运行时元素不存在,所以它不起作用。
我看了一下,发现应该使用$(window).load()。我试过,但得到了jquery错误。我看了一下,发现$(window).on(“load”,main())应该可以正常工作。我试过了,就像我的$(“身体”)一样“工作”。准备好了...... 对于一些准备好的,即使是“加载窗口”的东西也不会等待我的元素被完全加载。 我想做的简单测试是:
function main(){
console.log($("#toto").attr("id"));
}
当我打开扩展程序的弹出窗口时,它会在控制台中返回“undefined”,但是如果我粘贴相同的代码,则会返回“toto”。 我怎么能让这个工作好吗?
答案 0 :(得分:0)
你可以试试这个:
$(document).ready(function(){
//your code here
var id = $("#toto").attr("id");
console.log(id);
});
如果需要,您可以使用单独的功能,但必须先定义该功能:
function main(){
console.log($("#toto").attr("id"));
}
$(document).ready(main());
答案 1 :(得分:0)
好的,这很奇怪,但我解决了这个问题:
window.onload=function(){
main();
}
while $(window).load(...或$(window).on(“load”...没有用。