Javascript-根据链接是否属于图像来分离链接

Javascript - Separating links depending of if link belongs to image

本文关键字:链接 图像 分离 属于 是否 Javascript-      更新时间:2023-09-26

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

//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>

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

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标记的链接