Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 为什么';t$(document).data()在$(document).ready()内工作?_Jquery - Fatal编程技术网

Jquery 为什么';t$(document).data()在$(document).ready()内工作?

Jquery 为什么';t$(document).data()在$(document).ready()内工作?,jquery,Jquery,我有以下代码,它成功地将urltostore.php存储为mysite.option,然后可以将其用作全局变量 <script> $(document).data('mysite.option', "urltostore.php"); </script> <script> alert($(document).data('mysite.option')); </script> 最后,我想把$(document).data函数放在一个if条件中:

我有以下代码,它成功地将
urltostore.php
存储为
mysite.option
,然后可以将其用作全局变量

<script>
$(document).data('mysite.option', "urltostore.php");
</script>

<script>
alert($(document).data('mysite.option'));
</script>
最后,我想把
$(document).data
函数放在一个if条件中:

<script>
$(document).ready(function(){
if (leveldeterminant == 0{
$(document).data('mysite.option', "urltostore.php");
}
});
</script>

<script>
alert($(document).data('mysite.option'));
</script>

$(文档).ready(函数(){
如果(leveldeterminate==0{
$(document.data('mysite.option','urltostore.php');
}
});
警报($(document.data('mysite.option'));

由于JavaScript事件循环的工作方式以及
$(document).ready()
的行为,它不起作用。当您不将
$(document).data('mysite.option',“urltostore.php”);
放入
$(document).ready()
中时,它会立即被调用,并在需要时可用

但是,当将其粘贴到
$(document).ready()
中时,围绕它的匿名函数计划在DOM加载完成后执行,因此它实际上不会立即执行。它会等待DOM就绪事件,该事件发生在调用
警报($(document.data('mysite.option');
之后

如果您在
$(document.ready()
中卡住了
警报($(document.data('mysite.option'));
,我希望它能像您期望的那样工作

至于添加条件,无论您是否将其粘贴到
$(document).ready()
,它都应该正常工作

如果
leveldeterminate
等于0:

if (leveldeterminant == 0) {
    $(document).data('mysite.option', "urltostore.php");
}

警报会阻止一切(也会阻止页面呈现),这就是为什么您会变得未定义,因为页面未呈现且
$(document).data('mysite.option',“urltostore.php”);
未执行。请将警报也放在document.ready()中。您知道
$(document.ready()
的作用吗?我的主要问题是:如何制作
$(document).data('mysite.option',“urltostore.php”);
取决于
if条件
?不带
$(document.ready
if(leveldeterminate==0{
条件不可读我修改了我的帖子,使之更符合我的目标。我试图简化为一个
警报
功能,但我认为这分散了我的注意力,你必须显示完整的代码,比如
我的网站。选项
?你是如何创建的?请在你的任务中分享Ion这是一个正确的想法,但解释是错误的;事件循环和堆栈与此无关。
$(document).ready()
等待DOM完成加载,而不是事件循环完成。非常感谢您的帮助!如何设置
$(document).data('mysite.option',“urltostore.php”)
取决于一个条件,那么?如果没有
$(文档)。准备好
,则
如果(leveldeterminate==0{
condition is not read我修改了我的帖子,使之更符合我想要实现的目标。我试图简化为一个警报功能,但我认为这分散了我对主要问题的注意力having@EmptyArsenal如果你能看看我在我的原始帖子中添加的PHP是如何融入其中的,我将非常感激实际上,我的代码中没有这个警报——我只是尝试用它代替PHP来简化这个问题。我可以将PHP放在同一个
$(文档)中.ready
尽我所能使用
警报
我接受了你的回答,因为它确实回答了我提出的问题,但不幸的是我的问题仍然没有解决。(请参阅编辑的原始帖子。)
if (leveldeterminant == 0) {
    $(document).data('mysite.option', "urltostore.php");
}