无法在jquery中找到元素

时间:2011-11-29 08:55:19

标签: jquery

当我调用元素的方法时,我收到一条错误,上面写着“对象预期”。即使页面上存在该元素,我也会收到此错误。

$('#asdf').text();

我在页面方法的Onsucceed方法中调用它。它背后可能是什么原因?

6 个答案:

答案 0 :(得分:0)

可能是一些事情,在这种情况下,它可能无法找到$('#asdf'),因此请确保您的ID与页面上元素的ID相同。

检查您是否已正确导入Jquery,因为它可能无法识别$

最后,确保您的代码在页面加载完毕后正在运行。

$(document).ready(function() {
    //code
});

答案 1 :(得分:0)

我猜你在页面加载完成之前就已经这样做了。

尝试

   jQuery(function($){
     alert($('#asdf').text());
   });

答案 2 :(得分:0)

预期的“对象”具体是什么?如果是$,则表示您未在页面上添加jquery.js,或者其路径不正确。

如果包含jQuery,那么您可以使用以下命令测试页面上是否存在元素:

if ($("#asdf").length > 0) {
    alert("asdf esixts");
}
else {
    alert("asdf DOES NOT exist");
}

最后,确保将代码放在文档就绪处理程序中:

$(document).ready(function() {
    // your code here
});

答案 3 :(得分:0)

也许你没有引用Jquery?
尝试$('#asdf')。长度并检查它是否选择任何东西。 另一个可能的问题是您尝试在DOM准备好之前选择元素

$(function(){
    $('#asdf').text();
});
当DOM准备就绪时会发生

答案 4 :(得分:0)

可以通过正确引用JQuery文件来解决。您可以将它放在子目录中,并且需要更改路径。

或者你可能有像这样的代码;

$("#form1").validate({
        debug: true,
        .....

如果有,请将false更改为true

答案 5 :(得分:0)

我假设您在IE中遇到此错误。当你有一个id为asdf的元素,然后你在某个ajax调用(或替换它)后以某种方式删除它时,可能会发生这种情况。您可以尝试$(“[id = asdf]”)。text()并查看它是否失败。如果没有,那我就是对的。 这是因为(IMO)IE将所有具有ID的元素保留在散列中,并且在替换元素时不会将散列中的指针替换为散列。