我想构建一个查询,找到具有autofocus-attribute的元素,同时也是输入(或选择)。
使用这个Skeleton ....
<html><head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
</head>
<body>
<div id="maindiv">
<form class="someclass">
<input type="text" />
<input type="text" autofocus="autofocus" />
</form>
</div>
</body></html>
...我试试
$('#maindiv .someclass [autofocus="autofocus"]')
返回一个输入,如预期的那样
$('#maindiv .someclass :input')
返回两个输入。
但是将两者结合起来总会产生一个空列表。
$('#maindiv .someclass [autofocus="autofocus"]:input')
$('#maindiv .someclass :input[autofocus="autofocus"]')
$('#maindiv .someclass :input').filter('[autofocus="autofocus"]')
这一个
$('#maindiv .someclass [autofocus="autofocus"]').filter(':input')
工作并返回一个输入。
这是为什么?
答案 0 :(得分:2)
$('#maindiv .someclass :input[autofocus="autofocus"]');
是对的。见this demo。它正在输入autofocs属性集,在maindiv内部的类someclass的任何地方。
检查您的实际代码是否有错误。
答案 1 :(得分:1)
似乎是一个在jQuery 1.6版本之前发生的错误,并且在代码工作的1.7中得到修复。