2012-02-27 97 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

相關問題