[英]JQuery is not working in JSP with Struts2
我在<script>
标记中包含了JQuery CDN,但是它不起作用。 我正在使用intellij,它以这样的警告提示我:“未解析的函数或方法$()”
任何回应表示赞赏
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<script src="http//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.0.min.js"></script>
<title>Success</title>
<script>
$("#select").click(function() {
alert("aaaa");
});
$("#delete").click(function() {
alert("aa");
});
</script>
</head>
<body>
<label for="person">personname</label>
<input id="person" name = "person" type="text" />
<input id="add"type="button" value="add" />
<input id="delete"type="button" value="delete"/>
<input id="select"type="button" value="select"/>
<input id="update"type="button" value="update"/>
</body>
</html>
由于您已将所有js放在标头中,因此必须将其放在document.ready
。
<script>
$(document).ready(function(){
$("#select").click(function() {
alert("aaaa");
});
$("#delete").click(function() {
alert("aa");
});
})
</script>
这是因为script
标记是一个阻止标记,当您将其放入标头标记中时,将在DOM准备就绪之前对其进行解析。 那时jQuery不知道什么是#select
& #delete
,因此它无法附加click
处理程序。
第二种选择是将所有脚本放在结束body标签附近。 因此,首先DOM将准备好包含元素,然后将执行js。 然后,您可以删除
$(document).ready(function(){
})
例
<body>
<!--All HTML elements-->
<script>
// All your js goes here.
</script>
将脚本放在</body>
标签之前,有很多好处,这超出了这个问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.