我使用以下方法确定元素是否隐藏:
if ($("#sidebar").is(':hidden')) {
有什么方法可以确定#sidebar 是否具有“黑色”类而不是检查它是否隐藏?
我使用以下方法确定元素是否隐藏:
if ($("#sidebar").is(':hidden')) {
有什么方法可以确定#sidebar 是否具有“黑色”类而不是检查它是否隐藏?
Api:.hasClass('black')
将为您解决工作演示 http://jsfiddle.net/xvA8d/2/
链接:http ://api.jquery.com/hasClass/
确定是否为任何匹配的元素分配了给定的类。
有很多方法:
.hasClass('whatever')
.is('.whatever')
.prop('className') == 'whatever'
它们都有自己的优点和缺点:
hasClass
:通常最好的选择,检查元素是否有给定的类,不管它是否还有其他类。is
: 检查选择器。比 hasClass 慢,因为它调用选择器引擎,除此之外并没有什么不同。更灵活,因为您可以将它与其他选择器混合使用,而不是在需要时检查类。className
:检查元素是否只有给定的类。通常不是你想要的,但因为它是一种方式而被提及。if ($("#sidebar").hasClass('black')) {
您可以使用.hasClass('black')
:
if($('#sidebar').hasClass('black');
或者,您可以使用.is()
更大的灵活性:
if($('#sidebar').is('.black');
.is()
允许您使用 jQuery 提供的各种其他选择器过滤元素。但是,请注意.hasClass()
,正如this answer所述,这更快。
if($("#sidebar").hasClass('black'))
if ($("#sidebar").hasClass('black')) {
文档。_