[英]jQuery check if element has a class
I am trying to check to see if an HTML element has a class and if so, then run a function with jQuery. 我试图检查一个HTML元素是否有一个类,如果是,然后使用jQuery运行一个函数。 My code only works if an element doesn't have multiple classes. 我的代码仅在元素没有多个类时才有效。 I believe I need to use the .hasClass()
method, but I couldn't figure it out. 我相信我需要使用.hasClass()
方法,但我无法.hasClass()
。
var pageClass = $("body").attr('class');
switch (pageClass) {
case ("page1"):
$('h1').html('heading1');
break;
case ("page2"):
$('h1').html('heading2');
break;
default:
$('h1').html('default');
}
fiddle: https://jsfiddle.net/9o70dbzz/2/ 小提琴: https : //jsfiddle.net/9o70dbzz/2/
Use the .hasClass() function. 使用.hasClass()函数。
if($("body").hasClass("page1")){
$("h1").html("heading1");
}
else if($("body").hasClass("page2"){
$("h1").html("heading2");
}
else {
$("h1").html("default");
}
This can be solved with selectors: 这可以通过选择器来解决:
$('h1').html('default');
$('body.page1 h1').html('heading1');
$('body.page2 h1').html('heading2');
I would do it in such way.... 我会这样做....
$(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/ https://jsfiddle.net/9o70dbzz/4/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.