jQuery If Contains将CSS添加到类的多个值,同一个类

时间:2014-04-28 23:25:54

标签: jquery html css contains

使用Drupal 7,我在视图中打印了webform提交值。我有一个带有safe_key |值的选择框webform组件,但是由于webform提交数据只被保存为数据库中的相关Cid,我无法为每个结果创建一个单独的键,并且当打印出类时在视图模板中,而不是打印值的一部分,我不能有独特的类。

我将html缩减为基础,以显示在视图中打印的以下html ...

<table>
<tbody>
<tr>
    <td class="views-field views-field-value-10" >
       <p class="bookingstatus">Paid in Full</p>        
    </td>
</tr>
<tr>
    <td class="views-field views-field-value-10" >
       <p class="bookingstatus">Deposit Paid</p>        
    </td>
</tr>
<tr>
    <td class="views-field views-field-value-10" >
       <p class="bookingstatus">Cancelled</p>        
    </td>
</tr>
</tbody>
</table>

我希望每个打印的值都是基于结果的不同颜色。付费=绿色,存款=黄色,已取消=红色。

我使用以下jQuery根据结果更改样式颜色。

if (jQuery(".bookingstatus:contains('Paid in Full')").length) {
    jQuery(".bookingstatus").css("color","green");
    }

但是这会将.bookingstatus类的每个元素更改为绿色,是否有任何特定的方法,并且只在包含&#34的字段中将单个元素颜色更改为绿色;全部付费&#34;?

1 个答案:

答案 0 :(得分:3)

您可以使用:

jQuery(".bookingstatus:contains('Paid in Full')").css("color","green");

这将定位所有.bookingstatus个元素,这些元素包含文本&#39;完整付费&#39;。

jsFiddle here