JQuery按部分类名隐藏列表元素

时间:2015-10-27 20:30:04

标签: javascript php jquery

我需要在页面中找到并隐藏所有li标签,这些标签的部分类别为“fos-crs - ”。

<li class="minimal-product-wrapper toggle-container fos-crs-XXX">...<li>

其中XXX是来自数据库调用的一些课程代码。 “fos-crs”类是我添加的类,因此我可以专门查找和操作这些特定的li标签。 li标签中的其他类是使用Foundation的场外开发人员创建的工作的一部分。在其他领域,这些对我的JQuery来说不是问题。

我试过了:

$('[class^="fos-crs-"]').hide();

... and ...

$('li[class^="fos-crs-"]').hide();

有人会指导我吗?非常感谢。

2 个答案:

答案 0 :(得分:1)

您的目标是starts with(^)运算符的类。相反,您应该使用any occurrence(*)进行定位。 即,

 $('li[class^="fos-crs-"]').hide();

应该是

$('li[class*="fos-crs-"]').hide();

http://jsfiddle.net/d4uk2fmg/

答案 1 :(得分:1)

属性选择器查看整个属性,而不是属性中的每个类。所以你的代码正在寻找的是class属性以“fos-crs”开头的元素。您需要检查该字符串是否包含在属性中,因此您需要*修饰符。

$('li[class*="fos-crs-"]').hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
    <li class="minimal-product-wrapper toggle-container fos-crs-XXX">...<li>
    <li class="minimal-product-wrapper toggle-container fos-crs-XXX">...<li>
    <li class="minimal-product-wrapper toggle-container fos-crs-XXX">...<li>
    <li class="minimal-product-wrapper toggle-container">...<li>
</ul>