如何区分图像和链接http JavaScript

时间:2013-07-05 07:30:14

标签: javascript contextmenu getelementsbytagname

说我有以下JavaScript代码

function img_find() {
    var imgs = document.getElementsByTagName("img");
    var imgSrcs = [];

    for (var i = 0; i < imgs.length; i++) {
        imgSrcs.push(imgs[i].src);
    }

    return imgSrcs;
}

function link_find() {
    var links = document.getElementsByTagName("a");
    var linkHrefs = [];

    for (var i = 0; i < links.length; i++) {
        linkHrefs .push(links[i].href);
    }

    return linkHrefs;
}

我将实际使用addEventListerner在保持链接或图像时创建自定义上下文菜单。我的计划是将两个函数合并为一个但是如何确定返回的http是否适用于链接或图像?由于并非所有图像源scr都以可识别的图像扩展名结束。

1 个答案:

答案 0 :(得分:0)

您可以使用对象返回一个额外的参数:

return {links: links, type: "img"};

然后你可以使用这样的东西:

var links = find();

if(links["type"] === "img")
    console.log("I'm an image!");
else if(links["type"] === "href")
    console.log("I'm a link!");