【发布时间】:2010-11-03 02:16:57
【问题描述】:
(aggregated from another question)
jquery 1.3.2 测试代码,在FF3中运行:
<input type="hidden" value="236434" id="ixd" name='ixd' />
<script>
console.log( $('#ixd').val() );
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
console.log( $("input:hidden") );
console.log( $("input[name='ixd'][type='hidden']") );
console.log( $("input[name='ixd']").val() );
$(document).ready(function() {
console.log( $('#ixd').val() );
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
console.log( $("input:hidden") );
});
</script>
控制台输出:
undefined
[]
[]
[]
[]
undefined
236434
[input#ixd 236434]
[input#ixd 236434]
[input#ixd 236434]
任何人都可以为隐藏字段的数据提供任何解释或文档链接,直到 $(document).ready() 之后才能访问?这不是我曾经经历过的事情,而且很麻烦。
【问题讨论】:
-
听起来您几乎是在问,“为什么文档在准备好之前还没有准备好?”
-
嗯?您没有尝试在“声明”后立即访问脚本中的 DOM 元素吗?通常很好的夹头。
-
我尝试将几乎所有脚本保存在外部文件中,以便在动态生成页面内容的其余部分时它们可以被浏览器缓存。所以不,我没有尝试在 dom-ready 事件之前从脚本访问 DOM 元素,我认为这样做不是一个好主意。
标签: jquery forms css-selectors element hidden