我想构建一个查询,用于查找具有autofocus属性并且也是输入(或选择)的元素。
使用这个骨架...
<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')工作并返回一个输入。
为什么会这样呢?
发布于 2012-01-16 23:58:24
在jQuery 1.6版本之前似乎出现了一个bug,并在1.7版本中得到了修复,代码可以正常工作。
发布于 2012-01-16 23:28:17
$('#maindiv .someclass :input[autofocus="autofocus"]');是正确的。参见this demo。它在maindiv内的某个类元素中的任何位置获取设置了autofocs属性的输入。
检查实际代码中的错误。
https://stackoverflow.com/questions/8882145
复制相似问题