0

在本页面:

http://www.lesmills.com/westcoast/clubs-and-facilities/facilities-and-health-clubs.aspx#

当您将鼠标悬停在右上角的放大镜上时,它应该会弹出一个搜索框。它不起作用的原因是 JQuery 找不到它需要将鼠标悬停事件附加到的 id="search" 元素。如果您单击 F12 在浏览器中调出开发人员工具并查看开发人员工具的“控制台”选项卡,您可以看到这一点。该功能正在此页面上运行:

http://www.lesmills.com/westcoast/instructors/instructors.aspx

  • 使用 JQuery 选择器选择任何元素都不起作用
  • 如果我使用标准 JavaScript getElementById 我可以找到元素,但使用 JQuery 选择器不起作用。
  • 我尝试注释掉各种不同的包含的 JavaScript,并使 JQuery 成为页面中包含的第一件事
  • 我已经比较了呈现给浏览器的工作代码和损坏代码。我已经查看了任何差异并尝试注释掉或包含行以使损坏的代码更接近地匹配工作源代码 - 仍然无法让它工作
  • 我试过注释掉其他各种包含的 JavaScript

我已经看了几个小时了,有什么想法吗?

4

2 回答 2

2

默认情况下,ASP.net 页面上的$函数不是 jQuery。它是由 ASP.net 定义的函数。

然而,jQuery 是在页面上加载的,并且可以通过使用完整的单词 来访问jQuery,如jQuery('div.promo-panel').

于 2013-10-14T04:28:38.240 回答
2

因为$ != jQuery在页面中......要么使用jQuery(selector)而不是$(selector)使用IIFE

(function($){
    //here $ is jQuery
})(jQuery)

如果您正在使用 dom 就绪处理程序

jQuery(function($){
        //here $ is jQuery
})
于 2013-10-14T04:32:32.253 回答