如何简化和压缩重复的jQuery代码

我想点击一个链接,在内容列表中的2个内容块之间切换,基本上从显示内容到编辑内容。

我有以下代码片段:

 div.show {display:block;} input.hide {display:none;}   $(document).ready(function(){ $('#d-01').on('click', function() { $('#d-01-on').toggle(); $('#d-01-off').toggle(); $('#d-01-off').focus(); }); $('#d-02').on('click', function() { $('#d-02-on').toggle(); $('#d-02-off').toggle(); $('#d-02-off').focus(); }); $('#d-99').on('click', function() { $('#d-99-on').toggle(); $('#d-99-off').toggle(); $('#d-99-off').focus(); }); })  edit 
Some content
edit
Some content
edit
Some content

这有效,但我想让我的jquery / javascript代码更动态,而不是硬编码。 我的MySQL表行将随着时间的推移而增长,我不想继续编辑我的脚本。

是否有可能重新编写jquery代码来动态处理ID而不必创建单独的冗余on('click', function()

谢谢你的帮助。

[请参阅如何在jQuery中切换我的初始问题到这个问题]

我不确定我是否想要你想要的东西但是我在这里:

首先添加一个div来包装HTML标记的每个重复部分,在这个例子中我添加了一个名为content-wrapper的类来更容易地添加jquery click事件:

 
edit
Some content
edit
Some content
edit
Some content

然后我将JS修改为以下代码:

  

JS在content-wrapper的div中为每个锚点(一个标记)添加一个事件,然后当它被点击时,它会检查它的兄弟节点(它旁边的标签如:div.show和输入)并切换它们。 我在第二个兄弟姐妹中添加了一个filter,只获取所点击锚点的输入并将其聚焦。

我没有测试它,但它应该工作。