javascript - 向 jQuery 对象添加新方法

标签 javascript jquery methods

<分区>

我正在创建一个导航栏,该导航栏将根据您所在站点的页面(由 PHP 生成的“选定”类)打开

我正在尝试在 jQuery 中创建一个方法并将其附加到某些对象的 ID。我想让它尽可能模块化,我想 — 我正在尝试更多地了解 javascript 中的 OOP。

这是我的 HTML:

<div id="workNav">Work</a></div>
<div  id="workNavContents">
  <a class="selected" href="foo.html">Video/Film</a>
  <a class="" href="foo.html">Photography</a>
</div>
<div id="clientsNav"><a href="#">Clients</a></div>
<div id="clientsNavContents">
  <a href="foo.html">Agencies/Clients</a>
  <a href="foo.html">Directors/Photographers</a>
</div>

还有我的 Javascript:

var showSelected = new function(){
    if ($(this).children('.selected')){
        $(this).show();
    }
}

$('#workNavContents').showSelected = showSelected; 
$('#workNavContents').showSelected();

$('#clientNavContents').showSelected = showSelected; 
$('#clientNavContents').showSelected();

有件事告诉我,我非常想念 jQuery 与 javascript 的一个关键点。任何帮助将不胜感激。

谢谢! 中号

最佳答案

$(...) 每次调用都会返回一个新对象。

相反,您需要将您的方法添加到 jQuery 的原型(prototype):

$.fn.showSelected = function() { ... };

然后可以通过所有 jQuery 对象访问它。

关于javascript - 向 jQuery 对象添加新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15261531/

相关文章:

jQuery.ajax方法获取数据无需刷新

java - Hashmap员工存储的编辑方法

scala - Scala方法上的多个类型参数

javascript - 使用 + 作为转换机制是如何工作的?

javascript - 如何保护 Vue.js 中的客户端路由?

javascript - 从动态 htmlTable 在 vb.net 中获取数据

javascript - Jquery如何将.off()转为.on()

methods - 我可以使用敏捷开发方法单独开发我的应用程序吗?

javascript - 如何在 Flash 10 "without"用户交互中打开文件对话框

javascript - 为什么我使用 javascript 日期在浏览器中得到错误的日期?