使用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>
我很确定它的实际焦点部分不起作用,虽然我无法理解。
答案 0 :(得分:11)
您可以致电.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();
});
答案 1 :(得分:2)
也许使用
$(this).hasClass(".nav-button-left")
而不是
$(this).attr("class") == 'nav-button-left'