10

是否可以选择一个有焦点的元素,如 a:focus 或 input:focus,但在另一个元素上,如 div、li、span 或其他?

如果不可能,如何用标签代替?我试图在 li 元素聚焦时修改它的高度,尝试使用 a,但高度不会改变。


要求的信息:

“你能不能解释一下你是怎么把注意力放在李身上的?”

通过 CSS 选择器li:focus。请参阅https://jsfiddle.net/s4nji/Rjqy5/

4

2 回答 2

16

这很简单:只需tabindex向通常不接收焦点的元素添加一个属性。

于 2011-12-23T13:14:03.900 回答
6

您不能关注列表项。甚至不使用脚本。我试过做$("li:first").focus(),但它什么也没做。CSS 没有像被聚焦一样被设置。这仅仅意味着您要么不能关注列表项,要么:focus伪类不能处理列表项。

将锚点放在列表项中

<ul>
    <li><a href="#">...</a></li>
    <li><a href="#">...</a></li>
    <li><a href="#">...</a></li>
    ...
</ul>

这似乎会聚焦您的列表项,但实际上会聚焦锚标签。

于 2011-12-23T13:07:08.103 回答