如果属性值=,则jquery更改类

时间:2013-10-10 06:05:17

标签: jquery

早上好,

抱歉,我认为这是一个简单的“愚蠢”问题,但我有一个很大的空白。

如果attr值等于给定值,我想更改一个类。

我有以下内容:

 <a str=10 href="start.php class="old">Start<a>

因此,如果a的str attr为10,我将把类设置为class =“new”

我尝试过像:

$('a.attr.subnr.10).addClass('old');

我想到清晨: - (

谢谢!

4 个答案:

答案 0 :(得分:3)

试试这个简单的陈述:

$("a[str='10']").addClass("old");

答案 1 :(得分:2)

首先,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;
}

这不会为您的元素添加类,但您可以使用上面的选择器来定位它。

答案 2 :(得分:1)

$('a[str=10]').removeClass('old').addClass('new');

答案 3 :(得分:1)

试试这个

$('a[str=10]').removeClass('oldClass').addClass('newClass');
$('a[str!=10]').removeClass('newClass').addClass('OldClass');