当我调用元素的方法时,我收到一条错误,上面写着“对象预期”。即使页面上存在该元素,我也会收到此错误。
$('#asdf').text();
我在页面方法的Onsucceed方法中调用它。它背后可能是什么原因?
答案 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的元素保留在散列中,并且在替换元素时不会将散列中的指针替换为散列。