我有一个HTML文件:
<!DOCTYPE html>
<html>
<head>
<title>Insert</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript" src="js/jquery-1.10.1.js"></script>
<script type="text/javascript" src="js/controlla.js"></script>
</head>
<body>
<div id="insert">
<img src="css/images/logo.png" alt="Search Engine Logo" />
<input id="#textboxone" onkeyup="scova(event)" type="text"/>
</div>
</body>
</html>
我按顺序插入了脚本引用(第一个jquery,第二个我的函数文件)。
在我的函数文件中,输入框中的onkeyup事件有函数scova(事件),不可能使用jQuery引用$
。
例如:
function scova(e) {
var valore = document.getElementById('#textboxone').value;
var valjquiro = $('#textboxone').val();
console.log('il valore di javascript: ' + valore);
console.log('il valore di jaquirro: '+valjquiro);
};
在浏览器控制台中(在数字'test'之后),我得到:
il valore di javascript: test
il valore di jaquirro: undefined
如何在我的函数文件中使用JQuery?如何在我的controlla.js中使用jquery的$
引用?
答案 0 :(得分:8)
更改
<input id="#textboxone" onkeyup="scova(event)" type="text"/>
到
<input id="textboxone" onkeyup="scova(event)" type="text"/>
以便$('#textboxone')
不会是空对象。
完成上述操作后,请先删除document.getElementById('#textboxone')
修复#
。
答案 1 :(得分:2)
从您的ID属性中移除#
或执行此操作 -
var valjquiro = $('#\\#textboxone').val();
答案 2 :(得分:1)
您无需在任何其他jQuery
文件中包含 JavaScript
:只需将jQuery
放在所有<script>
标记之上导入的所有下一个文件将有权访问该库。
答案 3 :(得分:0)
尝试从函数文件中包装代码,如下所示:
$(document).ready(function(){ put your code here })
在这里阅读更多相关信息: http://api.jquery.com/ready/
如果我理解正确的话,您的代码可能在DOM完全加载之前运行,处于当前状态。