返回所有属性以某些内容开头的元素

安东尼·阿乔利

我知道[name^="value"] 选择器,但是有一个类似的选择器(或技术)可以查询从给定值开始的所有属性吗?

我正在寻找类似的东西$("[*^='http://www.something.com']")(不存在)。

它将匹配包含至少一个属性且其值以开头的所有元素http://www.something.com

说:

<img src="http://www.something.com/image.jpg" />
<a href="http://www.something.com">Something</a>
<link rel="stylesheet" href="http://www.something.com/css/style.css" type="text/css">

属性名称可以是任何东西,不仅可以是srchref,甚至可以是非标准属性。

有已知的方法吗?

安东尼·阿乔利

我整理了其他答案中的一些想法,并编写了一个自定义选择器。

选择器

$.expr[':'].hasAttrStartingWithValue = function (obj, index, meta) {

    var startsWithAttrValue = false;
    var value = meta[3];

    for (var i = 0; i < obj.attributes.length; i++) {
        var attr = obj.attributes[i];
        // attr.value starts with value
        if (attr.specified && attr.value.lastIndexOf(value, 0) === 0) {
            startsWithAttrValue = true;
            break;
        }
    }

    return startsWithAttrValue;
};

它没有经过正确的交叉浏览和正确性测试,我相信它可以进一步优化,但似乎可以与IE 11,FF 24和Chrome 32一起很好地工作。

用法

// Logs every occurrence of a value in any attribute of the page
$(":hasAttrStartingWithValue('http://www.something.com')").each(function (i, e) {
    console.log(i + " - " + e.outerHTML);
});

// Matches only children of test
$("#test :hasAttrStartingWithValue('http://www.something.com')")
   .css('background-color', 'red'); 

工作小提琴

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用XPath返回具有特定属性的所有元素

来自分类Dev

“for var in”访问 JS 对象返回所有内容 * 但 * 自己的属性?

来自分类Dev

使用JSON Path查找以某些内容开头的JSON属性名称

来自分类Dev

如何测试某些内容对地图中的所有元素均有效?

来自分类Dev

jQuery-选择所有以...开头的属性名称(不是值)的元素?

来自分类Dev

正则表达式返回以特定值开头的网页的所有属性

来自分类Dev

禁用所有ID属性以开头的按钮

来自分类Dev

使用PHP从元素中删除除某些链接以外的所有内容

来自分类Dev

删除Java中除某些DOM元素以外的所有内容?

来自分类Dev

匹配某些字符之间的所有内容

来自分类Dev

选择名称以某些字母开头的所有python变量?

来自分类Dev

给以某些字符串开头的所有变量赋值

来自分类Dev

替换所有以某些前缀开头的字符串

来自分类Dev

如何选择以某些字符串开头的所有记录?

来自分类Dev

内容开头的目标元素

来自分类Dev

如何使用jquery查找并选择所有具有数据属性以特定单词开头的元素?

来自分类Dev

如何对所有不以abc开头的内容进行cp处理?

来自分类Dev

在 lftp mirror 命令中排除所有以点开头的内容

来自分类Dev

启动时指定了MathJax元素属性,但仍然适用于所有内容

来自分类Dev

我怎么能说数组中的所有元素都必须在 OCL 中具有某些属性?

来自分类Dev

javascript-获取所有以“ hide”开头的元素

来自分类Dev

jQuery选择所有以“ o”开头并后跟数字的元素

来自分类Dev

查找所有以xml开头的元素中包含文本的后代

来自分类Dev

jQuery选择所有以“ o”开头并后跟数字的元素

来自分类Dev

在链接列表中获取以特定字符开头的所有元素

来自分类Dev

选择所有以特定数字开头的元素

来自分类Dev

循环遍历某些选择器的元素的所有属性,并从属性值中的所有整数中减去1

来自分类Dev

选择元素下方的所有内容

来自分类Dev

选择元素下方的所有内容

Related 相关文章

  1. 1

    使用XPath返回具有特定属性的所有元素

  2. 2

    “for var in”访问 JS 对象返回所有内容 * 但 * 自己的属性?

  3. 3

    使用JSON Path查找以某些内容开头的JSON属性名称

  4. 4

    如何测试某些内容对地图中的所有元素均有效?

  5. 5

    jQuery-选择所有以...开头的属性名称(不是值)的元素?

  6. 6

    正则表达式返回以特定值开头的网页的所有属性

  7. 7

    禁用所有ID属性以开头的按钮

  8. 8

    使用PHP从元素中删除除某些链接以外的所有内容

  9. 9

    删除Java中除某些DOM元素以外的所有内容?

  10. 10

    匹配某些字符之间的所有内容

  11. 11

    选择名称以某些字母开头的所有python变量?

  12. 12

    给以某些字符串开头的所有变量赋值

  13. 13

    替换所有以某些前缀开头的字符串

  14. 14

    如何选择以某些字符串开头的所有记录?

  15. 15

    内容开头的目标元素

  16. 16

    如何使用jquery查找并选择所有具有数据属性以特定单词开头的元素?

  17. 17

    如何对所有不以abc开头的内容进行cp处理?

  18. 18

    在 lftp mirror 命令中排除所有以点开头的内容

  19. 19

    启动时指定了MathJax元素属性,但仍然适用于所有内容

  20. 20

    我怎么能说数组中的所有元素都必须在 OCL 中具有某些属性?

  21. 21

    javascript-获取所有以“ hide”开头的元素

  22. 22

    jQuery选择所有以“ o”开头并后跟数字的元素

  23. 23

    查找所有以xml开头的元素中包含文本的后代

  24. 24

    jQuery选择所有以“ o”开头并后跟数字的元素

  25. 25

    在链接列表中获取以特定字符开头的所有元素

  26. 26

    选择所有以特定数字开头的元素

  27. 27

    循环遍历某些选择器的元素的所有属性,并从属性值中的所有整数中减去1

  28. 28

    选择元素下方的所有内容

  29. 29

    选择元素下方的所有内容

热门标签

归档