javascript - 通过 src 删除图像

标签 javascript jquery image

我需要删除带有特定 src 的某些图像:

http://ukn.cs-mtc.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif

有没有办法删除整个<img>用 JavaScript 标记?

最佳答案

我有一些空闲时间(并且有一种奇怪的冲动想写一些 JavaScript...),所以我想我会提供这种函数式方法:

function removeNeighbour(el, elType) {
    if (!el) {
        return false;
    }
    else if (el.nextElementSibling) {
        var nxt = el.nextElementSibling;
    }
    else {
        var nxt = el.nextSibling;
        while (nxt.nodeType !== 1 && nxt.nextSibling) {
            nxt = nxt.nextSibling;
        }

    }
    if (elType && nxt.tagName.toLowerCase() == elType.toLowerCase()) {
        nxt.parentNode.removeChild(nxt);
    }
    else if (!elType) {
        nxt.parentNode.removeChild(nxt);
    }
}

function clearElsWithAttrEquals(el, attr, val, andNeighbour, neighbourType) {
    if (!el || !attr || !val) {
        return false;
    }
    else if (document.querySelectorAll) {
        var matchingElems = document.querySelectorAll(el + '[' + attr + '="' + val + '"]'),
            neighbourType = neighbourType || '';
        for (var i = matchingElems.length - 1; i >= 0; i--) {
            if (andNeighbour === true) {
                removeNeighbour(matchingElems[i], neighbourType);
            }
            matchingElems[i].parentNode.removeChild(matchingElems[i]);
        }
    }
    else {
        var matchingElems = document.getElementsByTagName(el),
            len = (matchingElems.length - 1);
        for (var i = len; i >= 0; i--) {
            if (matchingElems[i][attr] == val) {
                matchingElems[i].parentNode.removeChild(matchingElems[i]);
            }
        }
    }
}

clearElsWithAttrEquals('img', 'src', 'http://ukn.cs-mtc.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif', true, 'p');​​​

JS Fiddle demo .

clearElsWithAttrEquals() 函数的快速指南(也是我可能 编写的唯一文档):

clearElsWithAttrEquals(el, attr, val[, andNeighbour[, neighbourType]]);

  1. el : (string) 标识元素类型('img','p','span'...)。
  2. attr : (string) 标识您要搜索的属性('id'、'src' 等...)
  3. val : (string) 只有当值完全等于字符串时才会匹配
  4. andNeighbour : (Boolean, optional) 你也想移除相邻元素吗?传递 true(如果是)或 false(如果不是)。
  5. neighborType : (string, optional) 仅当邻居是这种元素类型时才删除邻居 ('div','hr' ,'跨度'等);如果省略,则下一个同级元素将被删除不管它的类型。

引用资料:

关于javascript - 通过 src 删除图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12662418/

相关文章:

javascript - JS函数变量中的混合大小写字母

javascript - 让 JavaScript 函数在 HTML 中工作?

javascript - 从Chrome开发工具调用JS函数

javascript - JQuery 使用 JSP 自动完成

javascript - 悬停效果点击

JavaFX - 加载图像和内存问题

javascript - 如何安全地打印带有 HTML 标签和实体的字符串

javascript - 为什么我不能让汉堡菜单正常工作?

vb.net - 如何将 System.Drawing.Image 转换为字节数组?

c++ - 原始 RGB 值到 JPEG