Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery对象不';行不通_Javascript_Jquery_Variables_Object - Fatal编程技术网

Javascript jQuery对象不';行不通

Javascript jQuery对象不';行不通,javascript,jquery,variables,object,Javascript,Jquery,Variables,Object,当我将jQuery对象存储在变量中时,如下所示: var $myObject = $("div#comments"); <script type="text/javascript"> $(function() { loadComments(params); }); </script> …我无法使用对象$myObject 这就是我正在做的更改div#comments的html: 它什么也不做。我也尝试过这种方法,这次在div#comments中选择一个元素: 它

当我将jQuery对象存储在变量中时,如下所示:

var $myObject = $("div#comments");
<script type="text/javascript">
$(function() {
    loadComments(params);
});
</script>
…我无法使用对象$myObject

这就是我正在做的更改div#comments的html:

它什么也不做。我也尝试过这种方法,这次在div#comments中选择一个元素:

它不起作用

我只想能够将一个元素保存在变量中,然后使用它


注意:有些人不会将$放在变量名之前,例如:myObject。

您只提供了代码的一小部分,因此无法确定,但很有可能是您在
元素前面的
元素中运行代码,而不执行任何操作(例如使用ready事件)延迟代码的执行,直到div存在


结果是得到一个没有找到元素的jQuery对象。移动脚本元素,使其位于div之后。这是一个好位置

语法非常有效,应该可以正常工作。您是否在动态地附加comments div?您应该
alert($myObject.length)
查看它是0还是1,如果是0,则表示它从未被拾取


在dom就绪、窗口加载或ajax回调之前,您可能需要绑定
var
语句。

好吧,这个语法非常好,所以还有其他事情要做。你能展示你的标记吗?如果添加一个警报($myObject.length),会得到什么?还有最后一件事要检查。。。是否在准备就绪的处理程序中运行此操作?

是否在加载文档后调用它

     // This will ensure that the code doesn't run until
     //    the document has loaded
$(function() {
    var $myObject = $("div#comments");
});
(这是jQuery的
.ready()
方法的快捷方式。)

只要文档已加载,并且加载时页面上有一个ID为“comments”的
,它就应该可以工作


还要记住,页面上只能有一个元素具有任何给定的ID。因此,执行
$(“#注释”)实际上更好(更快)而不是
$(“div#comments”)

好的,谢谢大家。 我找到了解决办法

我考虑了在DOM中加载东西的顺序,并找到了解决方案。 (标记)的问题是:


加载注释(参数);
上面的代码是由PHP编写的! 因此,只要浏览器读取代码,它就会执行该函数。 调用函数后,我已经尝试将脚本放在页面的末尾。尚未定义该函数

因此,函数loadComments应该在div准备就绪并定义函数之后执行

我用.ready()将代码包装在标记之间,如下所示:

var $myObject = $("div#comments");
<script type="text/javascript">
$(function() {
    loadComments(params);
});
</script>

$(函数(){
加载注释(参数);
});
这让人分心。 对不起大家! 非常感谢


如果你有同样的问题,你不明白我做了什么,问我。XD

你做错了别的事情;那应该work@Akay-嗯,是和否。这是一条同样的捷径o) 哦,我明白了,有人能告诉我如何使我的代码看起来像注释中的代码:D吗。。上述评论是embarasing@Akay-使用左制表键上方的
重重音
字符`
<script type="text/javascript">
$(function() {
    loadComments(params);
});
</script>