0

当 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 的主要参与者。我该如何解决这个问题?

我遇到了许多具有相同问题的类似解决方案,但都没有解决。

提前谢谢了。

4

5 回答 5

1

我怀疑在jQuery包含库之前调用了您的代码,或者jQueryjs 文件的路径错误/不正确。

于 2013-08-26T09:36:30.670 回答
0

确保您使用正确的 jquery 路径,尝试像 rajesh 所说的那样从外部加载它,

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

如果你从外部加载 jquery1.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/

于 2013-08-26T09:47:20.527 回答
0

尝试jQuery改为$喜欢

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

并确保您已加载js库文件,例如jquery-1.10.2.js并将脚本放入DOM ready.

于 2013-08-26T09:33:52.063 回答
0

您需要使用jQuery.noConflict(),因为您jQuery library与其他也使用的库冲突$

并在里面包装代码document.ready

许多 JavaScript 库使用 $ 作为函数或变量名,就像 jQuery 一样。在 jQuery 的例子中,$ 只是 jQuery 的别名,所以所有功能都可以在不使用 $ 的情况下使用。如果您需要与 jQuery 一起使用另一个 JavaScript 库,请通过调用 $.noConflict() 将 $ 的控制权返回给另一个库。$ 的旧引用在 jQuery 初始化期间被保存;noConflict() 只是恢复它们。

官方文件

于 2013-08-26T09:35:36.170 回答
0

如果它比你有用,试试这个 jquery js path is not correct

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
于 2013-08-26T09:38:56.357 回答