JavaScript无法将焦点设置为ul中的第一个li元素 [英] JavaScript Not able to set focus to first li element within ul

查看:99
本文介绍了JavaScript无法将焦点设置为ul中的第一个li元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码:

<ul id='someId'>
 <li class='someClass'>
 </li>
</ul>

我想根据某些情况将重点放在ul中的第一个li元素上.

I want to set focus on first li element within ul based on some condition.

我的第一次尝试是这样的:

My first attempt is like this:

var ul = document.getElementById('someId');           
var child = ul.childNodes[0];
child.focus();

我的第二次尝试是这样的:

My second attempt is like this :

var y = document.getElementsByClassName('someClass');
var aNode = y[0];
aNode.focus();

但以上方法均无效

有什么想法吗?

推荐答案

问题在于,如果不设置tabIndex,就无法集中非输入元素.

The problem is that you can't focus a non input element without setting tabIndex.

<li tabIndex="-1">...</li>

您可以尝试使用这个小提琴: jsfiddle

You can Try this fiddle: jsfiddle

这篇关于JavaScript无法将焦点设置为ul中的第一个li元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆