我正在尝试使用jQuery将焦点(出于CSS的目的)设置为基于类名的页面加载时相关链接列表中的特定链接。

下面的示例,我想将焦点设置为Link1

<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>

我相当确定它的实际焦点部分不起作用,尽管我无法理解。

最佳答案

您可以只调用.focus(),而不需要if:

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

在此代码中:if($(this).attr("class") == 'nav-button-left'){引用this具有窗口上下文,因此它评估为false,因为窗口没有该类。

如果您只想在元素存在的情况下调用它,那么您已设置好。在上面的代码中,如果未找到该元素,则由于选择器未找到任何内容,因此不会调用.focus()

此外,除非您需要在执行此操作之前先加载类似图像的内容,否则请使用此调用:
$(function() { //equivalent to document.ready
  $(".nav-button-left").focus();
});

关于jquery - 使用类名称和Jquery将Focus设置为链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2380909/

10-12 01:13
查看更多