使用jQuery检查DIV id是否存在

18

我正在尝试使用JavaScript测试文档中是否存在具有id“test_div”的DIV。

我正在使用

if (getElementById("test_div"))

在下面的脚本中检查DIV是否存在于文档中。但它不起作用。我对Javascript没有太多经验;但从我所做的研究来看,我的问题似乎可能与嵌套函数有关。

如果我删除

标记,则脚本可以工作。

if (getElementById("test_div"))

有人知道如何在下面的函数中检查文档中是否存在ID为“test_div”的DIV吗?

<div id="test_div"></div>

<script>
function loadInfo(){
var req = new Request({
    method:'get',
    url:'getinfo.php,
    noCache: true,
    onRequest: function(){

        if (getElementById("test_div")) {
            $('test_div').set('html', 'loading data');
        }

    },  
    onComplete:function(responseText, responseHtml){
        if (JSON.decode(responseText) != null){
            var data = JSON.decode(responseText);

            if (getElementById("test_div")) {
                $('test_div').set('html', data['test_div']);
            }

        }   
    },
    onFailure: function(){

        if (getElementById("test_div")) {
            $('test_div').set('html', '-');
        }

    }           
}).send();  
}
window.addEvent('domready', function(){
loadInfo();
});
</script>

你正在使用哪个JavaScript框架?看起来不像是jQuery或Prototype...它可能有一种内置的方法来完成这个任务。 - Ian Henry
2个回答

46

你需要使用 document.getElementById(id) 方法来获取元素。但是,既然你正在使用jQuery,你也可以使用 $(id).length > 0 来检查该元素是否存在。


2
我也尝试了document.getElementById(id),但它不起作用。 - Marcus
2
准确来说,在您的情况下应该是 document.getElementById("test_div"),请注意 id 周围的引号。 - Aishwar
2
结果证明,问题是由于缺少“document.”和大写字母“D”的组合引起的。 - Marcus
2
你可以用 $(id).length 代替 $(id).length > 0,这样更简洁。 - But those new buttons though..

11

你的示例代码中存在错误,应该使用小写字母d来调用getElementById方法。Javascript区分大小写。

如果你在使用jquery,请确保在id前加上#,例如$("#test_div"),这样jquery就知道你要查询一个元素的id了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接