我有以下内容:

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


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

<script type="text/javascript" src="/js/note_beta.js"> </script>
<input type="hidden" name="noteid" id="noteid" value="321">


该ext JS文件的代码为:“ var noteid = $('#noteid')。val();”但是它不起作用...当它不在页面本身上时,是否有技巧使其起作用?

谢谢

最佳答案

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

所以改变:

var noteid = $('#noteid').val();


对此:

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

10-07 21:47