jquery过滤选择与过滤功能

时间:2013-09-16 01:25:56

标签: javascript jquery

所以根据这个jQuery documentation“为了获得最佳性能,使用:password,首先选择带有标准jQuery选择器的元素,然后使用.filter(”:password“),或者在伪选择器之前带有标签名称或其他选择器。“

所以我遵守并使用过滤函数过滤掉选择,但它返回0;没有选择任何元素。这是为什么?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>jQuery</title>
<script src="jquery-1.9.1.js"></script>
<script>
$(document).ready(function() {

    var t = $("form").filter(":password");

    $("body").append(t.length);


});
</script>
</head>
<body>
<form action="" method="post">
<input type="password" name="file" />
</form>
</body>
</html>

2 个答案:

答案 0 :(得分:2)

您需要查询<input>个元素并对其进行过滤:

$('form input').filter(':password');

现在,您正在选择所有<form>元素,并为:password类型过滤它们(并且不会有任何类型)。

答案 1 :(得分:0)

因为您没有任何形式的密码。

您可以使用以下其中一项: $('form input').filter(":password") 要么 $("form").find("input:password")