我想用jQuery將一個類添加到body標籤。如何添加一個類到body標籤?
例如,如果URL是http://www.mywebsite.com/about_us.asp,我想補充的前五個字母,在「關於」這種情況下,對身體標記:
<body class="about">
我怎樣才能做到這一點?
我想用jQuery將一個類添加到body標籤。如何添加一個類到body標籤?
例如,如果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
:東西./has_two_underscores.html
:有像這樣的東西可能會奏效:
$("body").attr("class", "about");
它使用jQuery的attr()
到 '約'添加類身體。
這適用於向課程中添加課程。只是沒有回答這個問題。 – iCode 2016-08-30 16:19:47
那麼,你會想要document.location
。做一些字符串操作就可以了(除非jQuery有辦法避免你的工作),然後
$(body).addClass(foo);
我知道這是不是完整的答案,但我相信你可以工作,其餘的: )
用途:
$(document.body).addClass('about');
可以使用提取的URL的一部分簡單regular expression:
var url = location.href;
var className = url.match(/\w+\/(\w+)_/)[1];
$('body').addClass(className);
比$('body')更有效的是$(document.body),避免了選擇器進程。請參閱http://jsperf.com/jquery-body-vs-document-body-selector(注意:在給定的統計數據中'higher is better') – 2013-03-18 12:47:41
$(document.body)也適用於jQuery 1.9.0(而$ (「body」)不起作用(在Chrome中測試))。 – 2013-04-18 20:54:48
哦,謝謝你我試圖這樣做,它不工作,但你救了我:) – Jerome 2017-04-27 09:32:49