我已经读了几篇关于这方面的文章,但它对我来说根本不起作用。我使用Ruby on Rails作为我的MVC框架。我向映射到controller和action的body标记添加类。
<body class="<%= controller_name %> <%= action_name %>">因此,在控制器home操作about上,我可能有
<body class="home about">由服务器呈现并发送到客户端。我想要有页面特定的JavaScript,但我似乎不能正确地这样做。
我试过了,但总是返回true
var page = $('body.home')
if (page) {
console.log('Right page')
} else {
console.log('Wrong page');
}
// returns
// jQuery.fn.init [prevObject: jQuery.fn.init(1), context: document, selector: "body.information"]我试过了,但总是返回true
var page = $('body.home')[0]
if (page) {
console.log('Right page')
} else {
console.log('Wrong page');
}我试过了,但总是返回true
var page = $('body.home')[0]
if ($(page)) {
console.log('Right page')
} else {
console.log('Wrong page');
}我试过了,但总是返回false
var page = $('body.home')[0]
if ($(page).length > 0) {
console.log('Right page')
} else {
console.log('Wrong page');
}因此,当我在正确的页面(具有元素主体的页面,其中包含home类)时,它会‘console.logs’错误的页面
发布于 2018-01-20 20:56:45
要检查类,您需要使用classList。
如下所示:
普通的javascript(classList.contains只适用于现代浏览器);
let body = document.getElementsByTagName('body');
console.log(body[0].classList.contains('one'));
console.log(body[0].classList.contains('two'));<body class="one tow">
</body>
您还可以执行以下操作:
let body = document.getElementsByTagName('body')
let isClassThree = body[0].className.split(" ").indexOf('three')
let isClassFour = body[0].className.split(" ").indexOf('four')
console.log(isClassThree, isClassFour)<body class='two three'>
</body>
JQuery:$("body").hasClass(className)
https://stackoverflow.com/questions/48356342
复制相似问题