jQuery 'has attribute'选择器在IE7中失败(用于"自动对焦")



我正在尝试为不支持自动对焦属性的浏览器提供支持,使用如下方法:

<input type="text" autofocus/>
<input type="text" autofocus="autofocus"/>
<input type="text"/>​
<script type="text/javascript">
    $("input[autofocus]").first().focus();
</script>

但是,该选择器将返回 IE7 的所有输入元素,包括没有"自动对焦"属性的元素。它适用于IE8+,我已经使用jQuery 1.6.4,1.7.2和1.8.2进行了测试。我这里有一个jsfidd:http://jsfiddle.net/HSC7K/4/。

这些jQuery票证似乎相关,但已被关闭:

http://bugs.jquery.com/ticket/5637

http://bugs.jquery.com/ticket/7874

编辑:更新的JSFIDDLE:http://jsfiddle.net/HSC7K/6/

我在 AJAX 调用后尝试自动对焦时遇到了同样的问题。

$("input[autofocus]").first().focus();

只是不行。 我使用的是IE 11。我发现如果您删除输入选择器,它可以工作。所以。。。。

$("[autofocus]").first().focus();

最新更新