每个问题()

时间:2010-08-10 09:05:09

标签: jquery

<script type="text/javascript">
    //<!--
$(document).ready(function() {

 $('ul.course-nav li a').each(function() {
  alert(5);
  if ('#' == $(this).attr('href')) {
   $(this).addClass('lessOpacity');
  }
 });

});    //-->
</script>

HTML当然包含搜索的元素:

  <ul class="course-nav">
   <li><a href="navigator.php?kam=zakladnyNahladKurzu&amp;id=1&amp;pos=2" class="next"><img src="css/images/16_arrow_right.png" alt="next"></a></li>

   <li><a href="#" class="prev"><img src="css/images/16_arrow_left.png" alt="prev"></a></li>
   <li><a href="navigator.php?kam=zakladnyNahladKurzu&amp;id=1" class="start"><img src="css/images/16_arrow_first.png" alt="start"></a></li>
  </ul>

然而它不起作用。甚至没有提醒警报。有什么建议吗?

4 个答案:

答案 0 :(得分:6)

你不需要each,你可以这样做:

$('ul.course-nav a[href="#"]').addClass('lessOpacity');

jQuery的隐式迭代将查看href设置为#的所有链接并相应地添加类。确保将代码包装在ready处理程序中:

$(function(){
  $('ul.course-nav a[href="#"]').addClass('lessOpacity');
});

答案 1 :(得分:1)

而不是

  $('ul.course-nav a').each(function() {
    alert(5);
    if ('#' == $(this).attr('href')) {
    $(this).addClass('lessOpacity');
   }
 });

替换为

 $('ul.course-nav li a').each(function() {
    alert(5);
    if ('#' == $(this).attr('href')) {
    $(this).addClass('lessOpacity');
   }
 });

答案 2 :(得分:1)

包裹你的功能
$(document).ready(function() {
    // here goes your function
});

必须加载整个页面,直到jQuery可以修改任何内容!

答案 3 :(得分:1)

可能会执行页面上的另一个$(document).ready()函数而不是显示的函数。