我正在尝试使用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/