Я хочу добавить класс в тег body с помощью jQuery.
Например, если URL http://www.mywebsite.com/about_us.asp, я хочу добавить первые пять букв, в данном случае "около", в тело тег:
<body class="about">
Как я могу это сделать?
Я хочу добавить класс в тег body с помощью jQuery.
Например, если URL http://www.mywebsite.com/about_us.asp, я хочу добавить первые пять букв, в данном случае "около", в тело тег:
<body class="about">
Как я могу это сделать?
Это должно сделать это:
var newClass = window.location.href;
newClass = newClass.substring(newClass.lastIndexOf('/')+1, 5);
$('body').addClass(newClass);
Вся вещь "пять персонажей" немного волнует; такое произвольное отсечение обычно является красным флагом. Я бы рекомендовал поймать все до тех пор, пока не будет _ или.:
newClass = newClass.match(/\/[^\/]+(_|\.)[^\/]+$/);
Этот шаблон должен давать следующее:
../about_us.html
: о../something.html
: something./has_two_underscores.html
: имеетИспользование:
$(document.body).addClass('about');
Вы можете извлечь эту часть URL-адреса с помощью простого регулярного выражения:
var url = location.href;
var className = url.match(/\w+\/(\w+)_/)[1];
$('body').addClass(className);
Ну, вам захочется document.location
. Сделайте какие-то манипуляции с строкой на нем (если у jQuery нет возможности избежать этой работы), а затем
$(body).addClass(foo);
Я знаю, что это не полный ответ, но я предполагаю, что вы можете справиться с остальными:)
Что-то вроде этого может работать:
$("body").attr("class", "about");
Он использует jQuery attr()
, чтобы добавить класс 'about' в тело.
У меня была та же проблема,
<body id="body">
Добавьте тег идентификатора в тело:
$('#body').attr('class',json.class); // My class comes from Ajax/JSON, but change it to whatever you require.
Затем переключите класс для тела с помощью id. Это было протестировано в Chrome, Internet Explorer и Safari.