在主页上添加类到正文

时间:2015-10-22 14:01:53

标签: javascript jquery

我正在尝试在主页上添加一个类到body标签。但是,它不起作用。我在做什么呢?

<script>
<!--

var str = navigator.userAgent ;
var version = str.match(/Android\s+([\d\.]+)/)[1];
var version = version.substring(0, 3);

if(version <= 4.0)
location.replace("http://www.yoururladdress.com/yourpage.html");

}
-->

</script>

5 个答案:

答案 0 :(得分:3)

window.location.href永远不会与window.location.hostname相同,因为前者将包含协议部分(例如:http://),而后者则不包含。

答案 1 :(得分:2)

我不认为

(void)viewDidLoad{}

永远都是真的。 hostname将托管类似stackoverflow.com的东西,其中href将包括协议,端口和其他可能是完整网址的东西。你想检查是否

self.view.backgroundColor = [NSColor blueColor];

或者那种性质的东西。但正如评论中指出的那样,只要添加到该html文件或者如果生成HTML就在服务器上执行此操作似乎要简单得多。

答案 2 :(得分:2)

window.location.href包含协议信息,永远不会等于window.location.hostname

根据W3

  
      
  • window.location.href返回当前页面的href(URL)
  •   
  • window.location.hostname返回Web主机的域名
  •   
  • window.location.pathname返回当前页面的路径和文件名
  •   

您应该检查pathname主页位置:

var path = window.location.pathname;
if (path == '/' || path == '/home.html') {
  $("body").addClass("home");
}

答案 3 :(得分:0)

没有jquery就很容易。

window.addEventListener("load", MyFunction);
function MyFunction(){
  if(window.location.origin == window.location.href) {
    var body = document.getElementsByTagName('body');
    body[0].className = "myclass";
  }
}

window.addEventListener("load", MyFunction);
function MyFunction(){
  if(window.location.origin == window.location.href) {
    document.getElementsByTagName('body')[0].className = "myclass";
  }
}

body[0]因为document.getElementsByTagName返回值是一个数组。

答案 4 :(得分:0)

随着评论的提出,它让我思考。我试过这个并且有效。

<script type="text/javascript">
    $(document).ready(function() {
        switch (window.location.pathname) {
          case '':
          case '/index.php':
              $('body').addClass('home')
        }
    });
</script>

我忘了在问题中提到它是在PHP驱动的网站上。我回答了自己的问题,以帮助那些有一天可能会有同样问题的人。