jQuery 属性选择器:除了不以指定字符串结尾的任何东西吗?

Posted

技术标签:

【中文标题】jQuery 属性选择器:除了不以指定字符串结尾的任何东西吗?【英文标题】:jQuery attribute selector: anything but not ending with specified string? 【发布时间】:2012-01-08 14:23:42 【问题描述】:

我需要在jquery中选择元素,其属性值不以指定的子字符串结尾

它必须等同于“匹配所有元素,但那些以该属性中给定子字符串结尾的元素”。

所以e[a!@#=finstr] 匹配 e、e a="finstring" 等,而不匹配 e a="somethingfinstr"、e a="finstr"

帮忙,谢谢。

【问题讨论】:

【参考方案1】:

类似

$(':not([name$="finstr"])')

应该做的伎俩!

编辑:或者

$(selector).not('[name$="value"]');

【讨论】:

我猜你已经将name$="finstr" 包裹在[ ] 但是如果我有一个类 '.editable:not([name$=".notthis"]) - 我想知道需要什么改变才能让它工作【参考方案2】:

试试:

$('*').not('[attribute$="finishstring"]') 

【讨论】:

【参考方案3】:

尝试反转:属性以选择器结尾 [name$="value"]。 使用 jQuery(':not(selector)')。

类似这样的::not([name$="value"])

【讨论】:

【参考方案4】:

我认为这可行,以链接为例-

$("a:not([id$='hello'])"

演示 - http://jsfiddle.net/CJH2M/

【讨论】:

以上是关于jQuery 属性选择器:除了不以指定字符串结尾的任何东西吗?的主要内容,如果未能解决你的问题,请参考以下文章

jquery选择器之属性选择器

字符串的正则表达式,不以指定的子字符串结尾[重复]

Jquery 选择器:属性值以开头和结尾

jquery属性选择器

jquery简单原则器(匹配除了指定选择器之外的元素 selector 表示选择器)

jQuery 属性选择器