【问题标题】:Javascript not recognizing jQuery functionsJavascript 无法识别 jQuery 函数
【发布时间】:2015-01-13 22:59:56
【问题描述】:

我的 HTML 加载了两个脚本....

<head>
<script src="/js/jquery-1.11.1.js"></script>
<script src="script.js"></script>
</head>

在我的 script.js 中,我调用了一个简单的 jQuery 函数 .show() 和 .hide() 包裹在一个函数中

function visible() {
alert('Hi');
document.getElementById('login-error').show();
document.getElementById('login-error').hide(6000);
}

我正在从 php echo 运行函数

echo "<script type='text/javascript'>visible();</script>";

但是我从哪里执行函数并不重要,它不能识别 jQuery 函数。警报响起,但我无法让它识别 jQuery 脚本。

我在 firefox 中运行 firebug,它告诉我 .show() 和 .hide() 未被识别为函数。

任何帮助将不胜感激

谢谢!

【问题讨论】:

  • 你不能像那样混合纯 JavaScript 和 jquery。保持一致
  • 您没有使用任何 jQuery 函数。您编写了不存在的新函数并尝试执行它们。
  • 显示和隐藏函数对 jQuery 对象进行操作。
  • 您说得对,亲爱的先生,它可以做所有事情,您的环境生产中肯定应该有 jqury 很多事情。

标签: javascript php jquery html


【解决方案1】:

document.getElementById 不返回 jQuery 集合,并且 jQuery 不会将其函数添加到 DOM 节点的原型中。这段代码将在 jQuery 中编写如下。

function visible() {
    alert('Hi');
    $('#login-error').show();
    $('#login-error').hide(6000);
}

【讨论】:

    【解决方案2】:

    方法 showhidejQuery 对象上执行,但您正试图在 Element 实例上执行它。它只是没有那些方法。您正在混淆 jQuery(showhide)和“普通”javascript(document.getElementById)。你应该这样做

    $('#login-error').show();
    $('#login-error').hide(6000);
    

    【讨论】:

      猜你喜欢
      • 2011-07-10
      • 2017-06-04
      • 1970-01-01
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多