0

因此,根据这个jQuery 文档“为了使用 :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>
4

2 回答 2

2

您需要查询<input>元素并过滤这些元素:

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

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

于 2013-09-16T01:27:52.693 回答
0

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

您可以使用以下方法之一: $('form input').filter(":password")$("form").find("input:password")

于 2013-09-16T01:29:59.153 回答