让我澄清一下我的问题,以及我正在寻找的解决方案。我正在使用wikispaces.com,我想使用jQuery为每个页面动态添加一个独特的body类,以某种方式抓取URL,然后插入将专门应用的唯一body类,仅用于该页面。
所以,这是我的维基空间的一个示例网址...
http://wikithemes.wikispaces.com/Audio+Page
我想让jQuery抓住...让我们说.com /之后的第一个单词,在这个页面上将是音频。所以,我需要的jQuery会将类音频应用于body标签,就像这样......
<body class="audio">
在他们的文档中,任何jQuery都可以插入,因为它是默认加载的。但他们澄清说,如果你使用单词 jQuery ,它将只在wiki中使用$符号。像这样......
jQuery(document).ready(function(){
我真的很感谢你能帮我解决这个问题。谢谢!
答案 0 :(得分:2)
不确定您在放置代码时的限制。我只是将其放在您文档的<head>
中,然后将该类应用于html
元素而不是body
,这样您就不会获得FOUS
或“Flash没有样式的内容“。几乎在页面加载后,该类在元素上“存在”,但在它显示之前,如果你这样做:
<script type="text/javascript">
var loc = window.location.pathname.match(/^\/?(\w+)\b/);
// document.documentElement is the html element, this adds the class
if(loc) document.documentElement.className += " " + loc[1].toLowerCase();
</script>
如果你真的想使用jQuery:
<script type="text/javascript">
// jQuery is passed to the ready function as a parameter, so we alias it with $
// This will work for you even with wikispaces
jQuery(function($){
var loc = window.location.pathname.match(/^\/?(\w+)\b/);
if(loc) $(document.body).addClass(loc[1].toLowerCase());
});
</script>
答案 1 :(得分:0)
常规javascript:
jQuery(document).ready(function(){
var urlPath = window.location.pathname;
document.body.className = urlPath.match(/\/(.*?)(\+|$)/)[1].toLowerCase();
});