3种提取页面所有链接的方法(假设是a标签的链接)
如题,一道uc国际的面试题:
暂时想到的解法:
①方法1:
var urls = document.querySelectorAll(\'a\'); for(var i = 0; i < 3; i++){ console.log(urls[i]); }
②方法2:
var uu = document.getElementsByTagName(\'a\'); for(var i = 0; i < 3; i++){ console.log(uu[i]); }
③方法3:
var allNodes = document.getElementsByTagName(\'*\'); for(var i = 0,len = allNodes.length; i < len; i++){ if (allNodes[i].nodeName.toLowerCase() === \'a\') { console.log(allNodes[i]); }; }
④方法4:
var areg = /^<a\b[^>]+\bhref="([^"]*)"[^>]*>([\s\S]*?)<\/a>$/; var allText = document.getElementsByTagName(\'*\'); for(var i = 0,len = allNodes.length; i < len; i++){ if (areg.test(allNodes[i].toString())) { console.log(allNodes[i]); }; }
后面有想法,再补充吧。