Javascript 有没有办法使用jQuery选择具有特定内部值的特定类
例如,一个div中有6个“p”标记具有相同的类,但有些“p”标记内部有成员文本,而有些则有非成员。我想选择所有带有“member”内部文本的“p”标记,并使用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>
<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")