1

我编写了几行代码来提取页面中所有 img 标签的 URL。好的,一切正常,但我想知道是否有办法将我的代码应用到页面中的特殊 div 中!!!?我的意思是我想从 div 而不是整个页面正文中获取 img 标签的 URL。我希望我清楚地解释了我的意思:) 任何解决方案将不胜感激

       function getURL() {
              var url = [];
              var a = document.getElementsByTagName('img');
              for (var i=0, j = a.length; i<j; i++)
              {
                   if (/\.(jpg|jpeg|gif|png)$/im.test(a[i].getAttribute('src')))
                   {
                      url.push(a[i].getAttribute('src'));
                   }
              }
               document.write(url);
       }
4

2 回答 2

2

替换document.getElementsByTagName('img')yourElement.getElementsByTagName('img');

于 2012-11-11T10:34:39.603 回答
2

更改您的函数以接受 startElement 参数,然后在传递的元素上调用 getElementsByTagName

   function getURL(startElement) {
          var url = [];
          var a = startElement.getElementsByTagName('img');
          for (var i=0, i < a.length; i++)
          {
               if (/\.(jpg|jpeg|gif|png)$/im.test(a[i].getAttribute('src')))
               {
                  url.push(a[i].getAttribute('src'));
               }
          }
          return url; // return the result instead of writing it
   }

假设你有这个标记

<div id='myDiv'><img src='test.jpg'/></div>

然后你可以打电话

var urls = getUrl(document.getElementById('myDiv'));

另外我建议不要使用document.write,打开开发工具(通常是F12)并改用console.log,

console.log(urls);
于 2012-11-11T10:35:13.867 回答