在Javascript中删除属性值为cite_的所有元素

时间:2017-07-15 10:24:38

标签: javascript css-selectors

我有以下代码:

document.querySelectorAll(" img, [href='#cite'] ").forEach(function(el) {
    el.style.display = "none";
});

在此代码中,您可以看到属性值通配符[href='#cite-']

此选择器类似于维基百科文章中的源引用。

上述代码不起作用,因此不会删除包含以cite 开头的href 的任何元素的所有元素。

This is the page I work on - 您可以看到所有源引用和注释(一般称为“引用”,因此术语“引用”)具有citeSOMETHING的href值。

我的问题是,是否可以使用href属性定位所有a标记,并且所有值都以cite开头。

2 个答案:

答案 0 :(得分:3)

使用attribute starts with selector选择属性值以特定值开头的所有元素。

document.querySelectorAll("img,[href^='#cite'] ").forEach(function(el) {
//                          -------^^^^^-------
    el.style.display = "none";
});

对于旧浏览器支持,您需要将NodeList转换为Array,因为NodeList#forEach不支持广泛。

[].slice.call(document.querySelectorAll("img,[href^='#cite'] ")).forEach(function(el) {
    el.style.display = "none";
});

答案 1 :(得分:0)

  1. 使用href =" #cite ..."

    查询元素

    [Authorize(Roles ="Members")]

  2. 使用href =" #cite ..."

    查询标记元素

    document.querySelectorAll('[href^="#cite"]')