JavaScript无法将焦点设置为ul中的第一个li元素 [英] JavaScript Not able to set focus to first li element within ul
本文介绍了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屋!
查看全文