jQuery检查元素是否有类

时间:2016-04-19 21:30:38

标签: javascript jquery

我试图检查一个HTML元素是否有一个类,如果有,然后用jQuery运行一个函数。我的代码仅在元素没有多个类时才有效。我相信我需要使用.hasClass()方法,但我无法弄明白。

var pageClass = $("body").attr('class');
switch (pageClass) {
  case ("page1"):
    $('h1').html('heading1');
    break;
  case ("page2"):
     $('h1').html('heading2');
    break;
  default:
    $('h1').html('default');
}

小提琴: https://jsfiddle.net/9o70dbzz/2/

3 个答案:

答案 0 :(得分:5)

使用.hasClass()功能。

if($("body").hasClass("page1")){
  $("h1").html("heading1");
}
else if($("body").hasClass("page2"){
  $("h1").html("heading2");
}
else {
  $("h1").html("default");
}

答案 1 :(得分:3)

这可以通过选择器来解决:

$('h1').html('default');
$('body.page1 h1').html('heading1');
$('body.page2 h1').html('heading2');

答案 2 :(得分:1)

我会这样做......

$(document).ready(function() {
var element = $("body");

var classesCollection = {
    'page1': 'heading1',
    'page2': 'heading2'
};

for (var propertyName in classesCollection) {
    var propertyValue = classesCollection[propertyName];
    if (element.hasClass(propertyName)) element.html(propertyValue);
    else element.html('default');
}

});

https://jsfiddle.net/9o70dbzz/4/