Javascript jQuery:如何使用包含特定文本的类来显示元素?
更新: 我已经用我正在使用的代码更新了这个问题,例如,基于(选择)元素,如果(选项)选择了油漆(/option),我想显示或隐藏整个“工人阶级”部门工作,或者如果(选项)选择了车身车间(/option),我想显示整个“非生产阶级”部门非生产 我有多个HTML元素,具有相似的divs结构,但类名不同。然而,其中一些Javascript jQuery:如何使用包含特定文本的类来显示元素?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,更新: 我已经用我正在使用的代码更新了这个问题,例如,基于(选择)元素,如果(选项)选择了油漆(/option),我想显示或隐藏整个“工人阶级”部门工作,或者如果(选项)选择了车身车间(/option),我想显示整个“非生产阶级”部门非生产 我有多个HTML元素,具有相似的divs结构,但类名不同。然而,其中一些div确实共享某些文本,我如何使用.show()来使用它们的显示这些div。class名称包含某些共享文本 $('#qualifications').change(function(){
div
确实共享某些文本,我如何使用.show()
来使用它们的显示这些div。class
名称包含某些共享文本
$('#qualifications').change(function(){
if($('#qualifications').val() == 'Paint'){
$('div:contains("Paint")').show();
}
})
});
这是一个不好的示例,因为我想使用类名来定位元素,而不是('div:contains('Paint'))
代码如下:
<select id='qualifications'>
<option>All</option>
<option>Body Shop</option>
<option>Electrician</option>
<option>Mech</option>
<option>Paint</option>
</select>
<!-- Working Class -->
<div class="working">
<div class="working-indicator">
<p>W</p>
<div class="user-circle">
<img src="imgs/usericon.png">
</div>
<div class='user-info'>
<h6> Dennis Bokenkamp </h6>
<p><b><i>Paint</b></i></p>
<p>FIA</p>
</div>
<div class='user-clocking'>
<img src="imgs/clockicon.png">
<p>10/8/2016</p>
<p>10:09:00 AM</p>
</div>
</div>
</div>
<!-- Non-Productive Class -->
<div class="non-productive">
<div class="non-productive-indicator">
<p>N</p>
<div class="user-circle">
<img src="imgs/usericon.png">
</div>
<div class='user-info'>
<h6> Rick Richard </h6>
<p><b><i>Bodyshop 200%</b></i></p>
<p>DNF</p>
</div>
<div class='user-clocking'>
<img src="imgs/clockicon.png">
<p>10/8/2016</p>
<p>11:09:00 AM</p>
</div>
</div>
</div>
全部的
车身修理厂
电工
机械
油漆
W
丹尼斯·博肯坎普
油漆
国际汽联
2016年10月8日
上午10:09:00
N
里克理查德
车身修理厂200%
DNF
2016年10月8日
上午11:09:00
试试这个:
$(document).ready(function(){
$("#qualifications").on("change",function(){
if($(this).val() == 'Paint')
$("div.working:contains(Paint)").show();
})
})
在下面的示例中,我使用红色边框而不是显示
,因为如果选择“选择框的绘制”,则显示所选内容
全部的
车身修理厂
电工
机械
油漆
W
丹尼斯·博肯坎普
油漆
国际汽联
2016年10月8日
上午10:09:00
N
里克理查德
车身修理厂200%
DNF
2016年10月8日
上午11:09:00
$(文档).ready(函数(){
$(“#资格”)。关于(“变更”,职能(){
if($(this).val()=='Paint')
$(“div.working:contains(Paint)”).css({border:“2px solid red”});
})
})
您可以使用以下语法:$('div[class*=“Paint”]”)。show()
请共享html代码!使用each()循环遍历所有这些div,如果($(this).text()=='searchstring'),那么show()是否使用选择器中的类div.YourClassName:contains(“Paint”)
您能显示HTML吗?答案对你的问题有不同的解释,你真正的意思并不清楚。Paint
是在文本中还是在类中?ehsan,Barmar,我用更多的描述和代码更新了问题。当存在点符号时,这是一种非常糟糕的选择类的方法。你认为:contains方法更可取吗?我想是的。虽然如果我遇到这样的情况,我需要看看我的类是否包含一个单词,但我真的觉得我做错了什么。我同意你关于这个问题的观点,我还认为这是一个架构问题。但是[class=*]
是一个本机CSS选择器,因此我认为这是一个很好的解决方案。感谢Ehsan,我有一个问题:我确实有其他具有其他类名的div,但结构与工作和非生产div相同,可能还包含Paint、Bodyshop、Mech等。。。我如何瞄准所有这些目标?我必须在这里指定每个类吗$(“div.classnames:contains(Paint)”)@alimarwan,您可以保存选择值,var value=$(this.val()
并使用$(“div.classNames:contains(“+value+”)).css({边框:“2px实心红色”})代码>如果我的帖子能帮你标记,请。