0

我正在尝试根据特定链接是否属于图像来分离链接。到目前为止我所拥有的:

//get all links
var links = document.querySelectorAll("a");
//get all image_links
var images = document.getElementsByTagName('img');

var all_links = [];
var all_images = [];
var text_links = [];

for (var l = 0;l < links.length; l++) {
all_links.push(links[l]);
}

for (var i = 0; i < images.length; i++) {
all_images.push(images[i].parentNode.href);
}

如何添加我创建一个新数组 ( text_links),其中包含数组中未包含的所有链接all_images?所以基本上我试图:

  1. 查找所有链接。
  2. 查找所有图片链接。
  3. 将 image_links 数组中不包含的链接过滤到 text_links 数组中。

使用纯 JS 完成这项工作的更好方法是还是我必须使用库?

图像链接的 HTML(为 parentNode 获取 href):

<a title="Cooling Solutions" href="http://www.url.com/" onclick="s_objectID="http://www.url.com/?povid=P1171-C1143.2978+1139.3124-L0_1";return this.s_oc?this.s_oc(e):true">
<img width="495" height="225" src="http://i3.url.com/images/Site495x225.png" usemap="#map-33">
</a>
4

1 回答 1

0

当然,你会想要这样的东西......我还没有尝试过,但它会接近这个。

var links = document.getElementsByTagName("a");
var textLinksArray = new Array();
for(var i = 0; i < links.length; i++) {
    if(links[i].innerHTML.match( /\bimg\b/ )) {
        alert(links[i]);
    } else {
        textLinksArray.push(links[i]);
    }
}

//text links array only contains links without images. 

为跟踪无 img 标签的链接而编辑

于 2013-06-24T17:58:28.570 回答