我有一个填充了这是工作的一个完美$ .getJSON()函数的页面时,JSON被正确地写入的DOM()函数,但我有一个切换网页上的元素的显示的另一个功能,如果在查询字符串匹配的值。
$(document).ready(function() {
$("#one").toggle(data.indexOf("one") !== -1);
$("#two").toggle(data.indexOf("two") !== -1);
$("#three").toggle(data.indexOf("three") !== -1);
$("#four").toggle(data.indexOf("four") !== -1);
});
如果我使用任何其他事件来触发正确的元素是隐藏的功能/上所显示的例如
$(document).click(function() {
$("#one").toggle(data.indexOf("one") !== -1);
$("#two").toggle(data.indexOf("two") !== -1);
$("#three").toggle(data.indexOf("three") !== -1);
$("#four").toggle(data.indexOf("four") !== -1);
});
有人可以解释为什么.ready()函数不是工作?
有趣的是加载页面的以$ .getJSON()函数的内容,似乎有什么东西,用它做,因为如果我硬编码,则HTML我。就绪()函数的工作。
Cheers Jeff
“准备就绪”处理程序中的代码在页面完成时触发。 “click”处理程序中的代码仅在您点击鼠标时触发。你的'.getJSON()'是异步的,所以如果页面在响应返回之前完成,第一个将不起作用。 – Pointy
什么是数据?写入DOM的内容是从JSON中生成的#one,#two,#third,#four元素吗? – Bergi
数据变量是在查询字符串中传递给页面的内容,并且是从JSON文件将元素写入到DOM中。 – Jeff