2014-07-25 34 views
0

工作,我需要使用jqueny时,窗口的大小小于768像素添加属性不是在jQuery的

 <ul class="menu-link"> 
      <!--<li><a class="" href="#">HOME</a></li>--> 
      <li><a id="#about-us" >ABOUT US</a></li> 
      <li><a id="#contact" >CONTACT</a></li> 
     </ul> 

jQuery(document).ready(function ($) { 
     var windowSize = $(window).width(); // 
      if (windowSize < 768) { 
       //add attr 
       $("#about-us").attr("href", "#about-us"); 
       $("#contact").attr("href", "#contact"); 
    } 
}); 

它不工作的一些原因,我做错了什么

href属性添加到 a元素
+4

也有'id =“#about-us”'和'id =“#contact”'。它应该是'id =“关于我们''和'id =”contact“' – pattmorter

+3

为什么你不使用媒体查询? – Periback

+0

使用媒体查询,然后我必须重复整个HTML代码两次。因为这个原因我想用jQuery来做。 – Learning

回答

1

首先你需要从IDS删除#

<li><a id="#about-us" >ABOUT US</a></li> 
<li><a id="#contact" >CONTACT</a></li> 

应该

<li><a id="about-us" >ABOUT US</a></li> 
<li><a id=contact" >CONTACT</a></li> 

接下来,你可能要运行的窗口.resize以及:

$(function() { 
    $(window).on('resize', function() { 
    var add_remove = $(window).width() < 768; 
    $("#about-us").attr("href", add_remove ? "#about-us" : ""); 
    $("#contact").attr("href", add_remove ? "#contact" : ""); 
    }); 
    $(window).trigger('resize'); 
}); 
1

显示什么@pattmorter被指出

HTML:

<ul class="menu-link"> 
     <!--<li><a class="" href="#">HOME</a></li>--> 

     <!-- remove the # from the ids --> 
     <li><a id="about-us" >ABOUT US</a></li> 
     <li><a id="contact" >CONTACT</a></li> 
    </ul> 

JS:

jQuery(document).ready(function ($) { 
    var windowSize = $(window).width(); // 
     if (windowSize < 768) { 
      //add attr 
      $("#about-us").attr("href", "#about-us"); 
      $("#contact").attr("href", "#contact"); 
     } 
}); 
+0

谢谢,我只是犯了一个愚蠢的错误......没有注意到我正在用'id =#about-us'添加'#'..劳累过度的压力.. – Learning

+0

我想我们都去过那里......干杯! – mrpotocnik