Javascript 有没有办法使用jQuery选择具有特定内部值的特定类

Javascript 有没有办法使用jQuery选择具有特定内部值的特定类,javascript,jquery,css,Javascript,Jquery,Css,例如,一个div中有6个“p”标记具有相同的类,但有些“p”标记内部有成员文本,而有些则有非成员。我想选择所有带有“member”内部文本的“p”标记,并使用jquery向它们添加另一个类 这是我要对其执行操作的代码 <div> <p class="customClass">Member</p> <p class="customClass">Non-Member</p> <p class="customClass">Memb

例如,一个div中有6个“p”标记具有相同的类,但有些“p”标记内部有成员文本,而有些则有非成员。我想选择所有带有“member”内部文本的“p”标记,并使用jquery向它们添加另一个类

这是我要对其执行操作的代码

<div>
<p class="customClass">Member</p>
<p class="customClass">Non-Member</p>
<p class="customClass">Member</p>
<p class="customClass">Non-Member</p>
<p class="customClass">Member</p>
</div>

会员

非会员

会员

非会员

会员

这是预期的结果

<div>
<p class="customClass member">Member</p>
<p class="customClass">Non-Member</p>
<p class="customClass member">Member</p>
<p class="customClass">Non-Member</p>
<p class="customClass member">Member</p>
</div>

成员

非会员

成员

非会员

成员


一个选项是
筛选
所有
.customClass
,它只包含“成员”并添加类
。成员

$(“.customClass”).filter(函数(){
返回$(this).text().trim()=“成员”
}).addClass(“成员”)
.member{
背景色:红色;
}

会员

非会员

会员

非会员

会员


您只需要像这样编写选择器:


$(“.member”).exampleMethod();
这是一个类选择器,是一个非常简单和基本的解决方案,因此我建议您阅读jquery文档

使用以下方法:

    $("p:contains(Member)")
这将返回包含文本“Member”的所有“p”标记。然后分配额外的类:

    $("p:contains(Member)").addClass("member");
如果您只希望“成员”而不希望包含“非成员”,请使用:

您可以通过在选择器文本中添加更多内容使其更加具体。我没有尝试过这个,但尝试过:

    $(".customClass p:not(:contains(Non-Member))").addClass("member")

选择类为“customClass”且不包含非成员文本的所有标记。刚刚编辑过,现在它选择了所有“p”标记,其中类“customClass”不包含文本“Non Member”,然后将额外的类“Member”添加到这些标记中。

您是否尝试过使用jquery选择器$(“p:contains(Member)”)?是的,我尝试过,但它也将类添加到非成员中,因为它在我的答案中还包含术语Member,解决办法就在那里$(“.customClass p:not(:contains(Non Member))”).addClass(“Member”)添加到回答:
$(“p:contains(Member)”).addClass(“Member”)
谢谢,伙计!请再告诉我一件事。如果父div的内容发生更改或向这些div添加了更多元素,如何运行此脚本您可以将代码放在函数中。每次更新都调用该函数是一个选项。另一个是,在更新内容之前已经添加类。
    $(".customClass p:not(:contains(Non-Member))").addClass("member")