jquery.val()在页面上工作,关闭页面不?为什么?

AnA*_*ice 0 javascript jquery

我有以下内容:

<script type="text/javascript">
var noteid = $('#noteid').val();
</script>
<input type="hidden" name="noteid" id="noteid" value="321">
Run Code Online (Sandbox Code Playgroud)

这很好用......但是现在我试图将JavaScript从页面移动到链接的JS文件中,如下所示:

<script type="text/javascript" src="/js/note_beta.js"> </script>
<input type="hidden" name="noteid" id="noteid" value="321">
Run Code Online (Sandbox Code Playgroud)

这个扩展JS文件的代码是:"var noteid = $('#noteid').val();" 但是它没有用......当它不在页面本身时,有没有让它工作的技巧?

谢谢

And*_*son 8

尝试将jQuery代码包装在(document).ready函数中,这可以确保它在页面加载之前不会运行,并且在将元素添加到DOM之前不会冒险尝试引用元素

所以改变:

var noteid = $('#noteid').val();
Run Code Online (Sandbox Code Playgroud)

对此:

var noteid; // define it up here to ensure scope is done properly
$(document).ready(function() {
    noteid = $('#noteid').val();
});
Run Code Online (Sandbox Code Playgroud)