使用Mozilla jetpack,当我执行以下代码时...我得到的链接是未定义的!为什么?或者如何解决它?
var links = doc.querySelectorAll('#courses_menu > ul > li > a');
var linkz=links[1].href.split("?");
var i = 0;
for (i=0;i<=4;i++)
{
var linking= links[i];
}
jetpack.notifications.show(" "+ linking);
答案 0 :(得分:0)
因为它在循环结束时超出范围。
所以你应该
var linking;
for (i=0;i<=4;i++)
{
linking= links[i];
}
但是,你还想在这做什么?您四次覆盖链接。要显示所有链接吗?如果是这样,你可以将它们连接起来:
var linking = "";
for (i=0;i<=4;i++)
{
linking = linking + links[i] + " ";
}
编辑:评论者是对的;我忘记了Javascript中没有块作用域。这修复了你的代码吗?我无法想象它确实如此。我能想到的另一件事是links[4]
未定义,然后您将undefined
分配给linking
。
无论如何,我无法删除它,因为它已被接受,但如果其他人提出了更有用的答案,请随意取消接受此答案。