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");
}