【发布时间】:2015-09-20 05:50:31
【问题描述】:
我有一个页面设置,其中一些 div 具有 .w2 类,而另一些则没有,因为我需要这些项目具有不同的图像大小。所以我一直在环顾四周,看看我可以用什么来检查一个类是否被应用并找到了class_exists 函数。
所以我先做了一个小测试,看看它是如何工作的,但它总是返回false。即使我尝试查看页面是否应用了每个 div 元素所应用的类 item,这也是一样的,但它仍然返回 false。
<div class="item w2">
<?php
if (class_exists('w2')) {
echo "The class is applied!";
} else {
echo "This class is not applied";
}
?>
<div>
感谢您对此提出的任何建议。
/* 编辑 */
我一直在考虑这个问题,实际上我不需要为每个其他 div 添加另一个类。我只需要选择所有其他 div。所以我想我可以改用 :nth-child(even) 选择器。用下面的代码尝试一下是可行的,但我想知道是否有一种更简洁的方式来编写标记?
jQuery(function() {
if ($("#grid .item:nth-child(even)")) {
$(".item:nth-child(even) .figure h2").css('background', 'red');
} else {
$(".figure h2").css('background', 'blue');
}
});
感谢本文提供的所有有用答案。
【问题讨论】:
-
class_exists()与css类无关,与PHP's OOP classes有关 -
您可以使用 jQuery 的
hasClass()方法轻松做到这一点,但这发生在客户端