簡體   English   中英

Javascript Onclick事件錯誤:未定義$

[英]Javascript Onclick event error: $ is not defined

我試圖在發生onclick事件時添加一些輸入字段。 我正在使用javascript完成此操作。 當我嘗試擺弄時,效果很好。 但是它不適用於我的本地主機。 我收到以下錯誤消息。

ReferenceError: $ is not defined
$(".more").click(function() {

這是我的代碼:

<!DOCTYPE script PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
    <head>
      <script src="//admin/lib/jquery-1.10.2.js" type="text/javascript">
      </script>

      <link href="//admin/css/layout.css" rel="stylesheet" type="text/css"/>

    <script type="text/javascript">

    $(".more").click(function() {
        $("#container").append("<br><div id='test'><label>Title: </label><input type=\"text\" id=\"txt_jobTitle\">&nbsp;<label>Company</label><input type=\"text\" id=\"id2\">&nbsp;<label>Started</label><input type=\"text\" id=\"txt_jobStarted\">&nbsp;<label>Ended</label><input type=\"text\" id=\"txt_jobStarted\">&nbsp;<div class='box'><a href='#'>x</a></div></div><br/>");
        var count = $(".box").length;

    });

        $(".box a").live("click", function() {
            $(this).parent().remove();
            $("#test").remove();
        });

        </script>

    </head>

    <body>


        <div id="container">

                                <a href="#" class="more">Add more +</a>
                        </div>

    </body>

        </html> 

我不知道如何解決此問題,因為我不是javascript的關鍵角色。 我該如何解決這個問題?

我遇到了許多類似的解決方案,但都沒有解決。

提前謝謝了。

我懷疑您的代碼在包含jQuery庫之前已被調用,或者jQuery js文件的路徑錯誤/不正確。

嘗試使用jQuery代替$ like

jQuery(".more").click(function() {        
    //Do whatever
});

並確保已加載js庫文件(如jquery-1.10.2.js ,並將腳本放入DOM ready

您需要使用jQuery.noConflict()因為您的jQuery library與也使用$其他庫沖突。

並將代碼包裝在document.ready

就像jQuery一樣,許多JavaScript庫都將$用作函數或變量名。 在jQuery的情況下,$只是jQuery的別名,因此無需使用$即可使用所有功能。 如果您需要在jQuery旁邊使用另一個JavaScript庫,請通過調用$ .noConflict()將$的控制權返回到另一個庫。 $的舊引用在jQuery初始化期間保存; noConflict()只是還原它們。

官方文件

如果它比您的jQuery JS路徑不正確,請嘗試此操作

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>

確保您為jquery使用了正確的路徑,嘗試像rajesh所說的那樣從外部加載它,

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>

並且如果您從外部加載jQuery 1.10.1將會出現問題,您的live函數將無法使用。

    $(".box a").live("click", function() {
        $(this).parent().remove();
        $("#test").remove();
    });

所以把它on()

$(document).on("click",".box a", function() {
    $(this).parent().remove();
    $("#test").remove();
});

這是小提琴

http://jsfiddle.net/kanishka_bandara/pVRL3/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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