JQuery 找不到页面元素



在此页面上:

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

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

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

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

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

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

如果您使用的是 DOM 就绪处理程序

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