2010-03-04 31 views
4

使用jQuery我試圖從基於類名的頁面加載的相關鏈接列表中爲特定鏈接設置焦點(CSS目的)。將焦點設置爲使用類名與Jquery的鏈接

例如,下面的我想將焦點設置到鏈接1

<a href="#Link1" class="nav-button-left">Link1</a> 
<a href="#Link2" class="nav-button">Link2</a> 
<a href="#Link3" class="nav-button">Link3</a> 
<a href="#Link4" class="nav-button">Link4</a> 
<a href="#Link5" class="nav-button">Link5</a> 
<a href="#Link6" class="nav-button-right">Link6</a> 

目前,這是代碼片段到目前爲止我的工作,並通過工作,我的意思是我設置它,它什麼都不做迄今爲止引人注目。

<script type="text/JavaScript"> 
    $(window).load(function(){ 
     if($(this).attr("class") == 'nav-button-left'){$(".nav-button-left").focus();} 
    }) 
</script> 

我很確定它的實際焦點部分不工作,雖然我無法理解。

+1

我懷疑$(this)不包含什麼你認爲它的確如此。另外,jQuery包含一個.hasClass()函數,它可能更適合您的需求。 – 2010-03-04 16:39:06

回答

10

您只需調用.focus(),你不需要if

$(".nav-button-left").focus(); 

在此代碼:if($(this).attr("class") == 'nav-button-left'){參考this有窗範圍內,所以它的評估假,因爲窗口不具有類。

如果你想要做的只是調用它,如果元素存在,你設置。在上面的代碼中,如果找不到元素,那麼.focus()就不會被調用,因爲選擇器沒有找到任何東西。

而且,除非你需要的東西裝入像的圖像,此執行之前,只要使用此電話:

$(function() { //equivalent to document.ready 
    $(".nav-button-left").focus(); 
}); 
+0

完美,謝謝。 – VikingGoat 2010-03-04 17:02:16

2

也許使用

$(this).hasClass(".nav-button-left")

而不是

$(this).attr("class") == 'nav-button-left'