如果属性值= [重复],则jquery更改类
Posted
技术标签:
【中文标题】如果属性值= [重复],则jquery更改类【英文标题】:jquery change class if attribute value = [duplicate] 【发布时间】:2013-10-17 18:25:55 【问题描述】:早安,
对不起,我认为这是一个简单的“愚蠢”问题,但我有一个很大的空白。
如果 attr 值等于给定值,我想更改一个类。
我有以下几点:
<a str=10 href="start.php class="old">Start<a>
因此,如果 a 中的 str attr 为 10,我会将类设置为 class="new"
我尝试过类似的方法:
$('a.attr.subnr.10).addClass('old');
我想是凌晨:-(
谢谢!
【问题讨论】:
【参考方案1】:试试这个简单的语句:
$("a[str='10']").addClass("old");
【讨论】:
谢谢你这是最简单的方法!【参考方案2】:$('a[str=10]').removeClass('old').addClass('new');
【讨论】:
【参考方案3】:首先str
不是有效属性,考虑使用data-str
你可以这样做
if($('a').attr('data-str') == 10)
$('a').addClass('add_class');
Demo
确保您使用特定的选择器,这是一个通用的选择器,因此请考虑使用 .parent a
之类的东西
如果你想要一个纯 CSS 的解决方案,你也可以使用 attr=value
之类的选择器
a[data-str="10"]
color: red;
这不会向您的元素添加类,但您可以使用上面的选择器定位它。
【讨论】:
谢谢你这么好的表达!你是对的 str 不是一个有效的值,但在我的情况下很遗憾地说是必要的:-( @Phantom001 至少在值周围使用引号..【参考方案4】:试试这个
$('a[str=10]').removeClass('oldClass').addClass('newClass');
$('a[str!=10]').removeClass('newClass').addClass('OldClass');
【讨论】:
以上是关于如果属性值= [重复],则jquery更改类的主要内容,如果未能解决你的问题,请参考以下文章
如果有超链接,则更改列表样式类型 - 没有 javascript/jQuery [重复]