我有一个通过URL动态生成的页面(GET方法)。这个动态页面在很多其他东西中生成以下HTML行:
<input type='hidden' name='device' id='device' value='abcd' />
我还加载了几个javascript函数,我希望它们能够读取'device'的初始值,但是,它似乎无法读取初始页面加载的初始值。如果在页面加载后再次触发javascript函数,它将读取它。
我在.js文件中使用以下代码
jQuery(document).ready(function(){
var device = jQuery('#device').val();
});
调试时,在初始页面加载设备只是设置为'undefined'任何人都有任何想法?感谢。
布赖恩
答案 0 :(得分:1)
这意味着在您查找其值时该元素不可用,您可以使用onload
事件或将您的脚本放在</body>
标记之前。
这应该有效:
$(window).load(function(){
var device = jQuery('#device').val();
});
答案 1 :(得分:1)
如果您将这些JavaScript函数与作为对AJAX请求的响应而收到的HTML一起加载 - 可能在您的JS执行此代码时:
jQuery(document).ready(function(){
var device = jQuery('#device').val();
});
它指的是现有的DOM?如果您没有重新加载body
- 当您将收到的HTML插入现有DOM时,我不会看到此事件被触发。