Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
jQuery无法识别div id_Jquery - Fatal编程技术网

jQuery无法识别div id

jQuery无法识别div id,jquery,Jquery,我的Rails应用程序发生了一些非常奇怪的事情 出于某种奇怪的原因,jQuery无法识别DOM中的我的id。 让我给你举个例子 我有一个JavaScript函数,如下所示: <script> function myFunction(){ $('#hello').toggle(); } </script> 函数myFunction(){ $(“#您好”).toggle(); } 很简单,它应该使用id=“hello”切换元素。 但是它给

我的Rails应用程序发生了一些非常奇怪的事情

出于某种奇怪的原因,jQuery无法识别DOM中的我的id。 让我给你举个例子

我有一个JavaScript函数,如下所示:

<script>
    function myFunction(){
        $('#hello').toggle();
    }
</script>

函数myFunction(){
$(“#您好”).toggle();
}
很简单,它应该使用id=“hello”切换元素。 但是它给了我一个
$(“#hello”)
是空错误。(即使视图文件中有一个)

但是如果我使用
$('hello').toggle()
而不是
$('hello').toggle()
,则会观察到预期的行为


有人能告诉我发生了什么吗?

加载html后,你有那个脚本吗

如果没有,请将其放入此标签内

$(document).ready(function() {
   // put all your jQuery goodness in here.
 });
脚本可能在加载HTML之前执行,因此出现错误。

选择器匹配名称为hello的元素,
$('hello')
选择器匹配id为hello的元素。您可能错误地命名了元素而没有应用id吗?

可能是您(或某个组件)正在将原型库添加到页面中?在Prototype中,您可以使用$('ID')而不是$('#ID')按ID进行选择。此外,如果Prototype的$()函数没有找到匹配项,它将返回null,而jQuery的$()函数将永远不会返回null

若原型(或另一个带有$()函数的库)是在jQuery之后加载的,那个么它会在jQuery版本的$()函数上到处跺脚


如果事实证明是这样,并且您无法避免同时使用jQuery和另一个库,那么您可能会想利用它。

我刚刚有过同样的经历,当时正在失去理智!但我意识到我复制了以前的HTML页面以保持相同的格式,但它将ID复制到了新页面,因此jQuery对它是哪个ID感到困惑

请记住在整个站点中使您的ID唯一


六年过去了,但我希望这篇文章将来能帮助其他人。

在我这个奇怪的例子中,我在元素的一个id字段中有两个id,如:p id=“id1 id2”。。。即使您尝试访问正确的id jQuery(“#id1”)。。。出现此错误,即对象未定义。干杯

你的html是什么样子的?这是一个很好的主意,一旦你有一个以上的div具有相同的id,你就向我们展示你的html。它如何回答这个问题?据我所知,这是关于为什么jQuery可能无法识别给定的和现有的id。如果主持人认为,如果我的答案不是有用的信息,请搜索可能的错误,然后删除我的输入。没问题。非常感谢。