I want to build a query that finds elements that have the autofocus-attribute and are also inputs(or selects).
using this 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>
… i try
$('#maindiv .someclass [autofocus="autofocus"]')
Which returns one input, as expected
$('#maindiv .someclass :input')
Returns both inputs.
But combining the two always results in an empty list.
$('#maindiv .someclass [autofocus="autofocus"]:input')
$('#maindiv .someclass :input[autofocus="autofocus"]')
$('#maindiv .someclass :input').filter('[autofocus="autofocus"]')
This one
$('#maindiv .someclass [autofocus="autofocus"]').filter(':input')
works and returns one input.
Why is this?
Seems to be a bug happening until version 1.6 of jQuery and is fixed in 1.7 where the code works.