2012-02-27 60 views
-1

我有以下标记:为什么我不能用jQuery访问元素

<div class="tutor-photo-slider"> 
    <ul> 
     <li><a class="left-arrow" href="javascript:;"></a></li> 
     <li> 
     <ul id="carousel"> 
      <li> 
       <a href="/assets/images/tutor-sample.png" class="slider-image"> 
       <img src="/assets/images/tutor-sample-thumb.png" /></a> 
      </li> 
     </ul> 
     </li> 
    <li> 
     <a class="right-arrow" href="javascript:;"></a> 
    </li> 
</ul> 
</div> 

当我做

$('.left-arrow').click(function() { 
    var elem = $(this).parents('ul').children('li').children('ul'), 
     children = elem.children('li'); 
    for (var i = 0; i < children.length; i++) { 
     if ($(children[i]).css('display') != 'none') { 
      break; 
     } 
    } 
    $(children[i - 1]).show(); 
}); 

它不能访问它。我试图在Firebug调试,但可能不知道错误。 我包括jquery 1.6.4。我没有错误。

编辑:我试图做一个旋转木马的照片库http://jsfiddle.net/5xHFT/1/

+1

*它无法访问*:这是什么意思? – 2012-02-27 13:05:49

+4

您正在运行'ready'事件处理程序中的代码,还是在您试图访问的元素下面的脚本标记中运行代码?否则,该元素根本不存在。 – Guffa 2012-02-27 13:05:55

+0

我正在运行jQuery中的代码(function($){// code}); – Mythriel 2012-02-27 13:13:26

回答

1

您的代码段缺少一个

); 

作为,而不是

$('.left-arrow').click(function() {} 

做...

$('.left-arrow').click(function() {}); 

这可能会导致错误。

1

点击功能缺少右括号。 here是工作代码。

0

正如在Guffa的评论中提到的那样,你可能不会在ready里面这样做。这里是一个小提琴向您展示:http://jsfiddle.net/AVGTL/

看其他捣鼓后,它真的只是失踪)

0

使用一些插件使一些冲突,所以尽量

jQuery('.left-arrow').click(function() {}); 

一些时间只是尝试使用jQuery而不是“$”

+0

我正在使用jQuery(function($){// code});所以可以使用$内部 – Mythriel 2012-02-27 13:17:44

相关问题