簡體   English   中英

jQuery在Struts2的JSP中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM