我目前正在开发一个Chrome扩展程序,让用户点击一个节点来获取其内容。使用textContent
时获取内部文字很简单,但在点击的div
中获取图片的网址...
我尝试使用此功能获取img
节点,从而能够阅读其href
/ src
:
function getimgtag(elem) //elem is the clicked div
{
for(i=0;elem.getElementsByTagName('div')[i];i++)
{
getimgtag(elem.getElementsByTagName('div')[i]);
}
if(elem.getElementsByTagName('img')[0])
{
localStorage['fus_imgtag']=elem.getElementsByTagName('img')[0];
}
}
但它似乎没有结束,我真的不明白为什么。它不应该检查所有div
元素并将img
中的最后一个localStorage['fus_imgtag']
放在哪里吗?
答案 0 :(得分:2)
您忘记在i
中声明var i
。如果你没有声明它,它就会变成一个隐式的全局变量,这总是很麻烦,特别是在你的情况下,i
应该在每个递归调用的本地作用域。