我正在使用jquery-ui-tabs来允许用户创建自己的标签,然后在他们认为合适的标签之间进行切换。小部件中的内容是小小部件,就像它们自己的迷你程序一样。然后,用户可以在任何给定选项卡上选择他们想要的小部件。
只要任何给定的窗口小部件仅在1个选项卡中设置,这就可以正常工作,但是,当任何给定的窗口小部件添加到2个或更多选项卡时,事情就会出错。生成窗口小部件时,它们使用数据库中的id。例如 。如果将给定的窗口小部件添加到2个或更多选项卡中,它们最终会得到2个id为id相同的div,例如widget_1,这会导致问题。
所以我的问题是,解决这个问题的最佳方法是什么?
我希望我之前知道他们希望能够在多个标签上使用相同的小部件。我觉得这几乎必须完全改写......
答案 0 :(得分:2)
“div div1”是否将“div1”作为 class 或 id ?
你的问题听起来像 id ,这就是问题所在:the id has to be unique
解决这个问题,使用类 - 它们可以多次使用,你应该可以做同样的事情(但是如果没有看到一些代码,那就很难说了。)
编辑:更改了我的第一个链接,以显示w3c建议。我在
之前链接了this article答案 1 :(得分:-2)
建议不要在同一页面中使用相同的id
,但根本不应该遇到问题,您在javascript调用中需要做的就是自己添加标签,例如:
$(".tab-1 #div1")...
而非$("#div1")...
但是,我总是避免使用相同的id
和“告诉”您的生成器使用div1-random-number
并始终使用该类来使用当前标签获取窗口小部件,如上面的代码所示< / p>