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

时间:2013-06-24 17:49:09

标签: javascript

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

//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数组中。
  4. 是使用纯JS完成此操作的更好方法还是我必须使用库?

    用于图像链接的HTML(将href用于parentNode):

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

1 个答案:

答案 0 :(得分: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. 

编辑用于跟踪链接sans img标签