jQuery判断对象是否存在

受js影响,在jq中我习惯性用下边语句判断对象是否存在:

if ($("#eid")) {
    //
}
else {
    //
}

实际上,无论对象是否存在,$("#eid")的结果都是一个object,所以$("#eid")==true,正确的判断方法应是:

if ($("#eid").length > 0) {
    //
}
else {
    //
}

最后用一个例子证明:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>jQuery判断对象是否存在</title>
</head>
<body>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
        if (document.getElementById("eid")) {
            document.writeln("found.");
        }
        else {
            document.writeln("not found.");
        }
        if ($("#eid")) {
            document.writeln("found.");
        }
        else {
            document.writeln("not found.");
        }
        if ($("#eid").length > 0) {
            document.writeln("found.");
        }
        else {
            document.writeln("not found.");
        }
    </script>
</body>
</html>

输出结果:

引用内容 引用内容
not found.
found.
not found.


评论: 0 | 引用: 0 | 查看次数: 3441
发表评论
登录后再发表评论!