【发布时间】:2013-06-08 06:47:39
【问题描述】:
我目前正在开发一个 chrome 扩展程序,该扩展程序允许用户单击节点以获取其内容。使用textContent获取内部文字很简单,但是在点击的div中获取图片的url...
我尝试使用此函数获取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'] 中吗?
【问题讨论】:
-
你忘记像
var i一样声明i。 -
这不是问题,但我会缓存
elem.getElementsByTagName('div')和elem.getElementsByTagName('img')。一遍又一遍地调用它是在浪费资源。 -
@elclanrs:这就是答案:)
-
@elclanrs 是的,就是这样。真丢人。谢谢!
-
很高兴它有帮助,我会发布作为答案。
标签: javascript google-chrome dom recursion