2011-10-13 83 views
5

我使用jQuery UI的舌,以允许用户创建自己的选项卡,然后ofcourse切换选项卡,因为他们认为合适的。小部件中的内容是小部件,它们本身就像迷你程序一样。用户然后可以在任何给定选项卡上选择他们想要的小部件。jQuery的用户界面的选项卡内容的抗干扰

这工作得很好,只要任何给定的窗口小部件在1个选项卡中只设置,然而,事情开始去错了,当任何给定的widget被加到2个标签以上。当部件生成时,他们使用数据库中的ID。例如 。如果一个给定的小部件被添加到2个或更多的标签,他们最终会得到2个id与id相同的div,例如widget_1,这会导致您可以想象的问题。

所以我的问题是,什么是解决这种问题的最好方法?

我想我前面,他们希望能够使用相同的部件超过1个标签就知道了。我得到这个几乎将不得不是一个完全重写的感觉...

回答

2

并在“分区称为DIV1”有“DIV1”为ID

你的问题听起来就像是一个ID,并且那所有的问题:the id has to be unique

来解决这个问题,带班工作 - 它们可以多次使用,你应该能够做同样的事情(但是,如果没有看到一些代码,这有点难以说明)。

编辑:改变了我的拳头链接显示w3c推荐。我链接this article之前

+0

只是用这篇文章*的最后一行。如果你希望你的网页,以验证为XHTML或HTML,那么你应该在你的网页的唯一身份标识。* - 一切正常,甚至没有正在验证!我还是不明白为什么人们依靠这么多的建议文件...建议退出到循经,但这里有这样的情况,有我们不能简单地遵循建议,让我保证所有仍然伟大工程。 **在任何浏览器中!** – balexandre

+0

我同意你的看法,但在这种情况下,我们“不能简单地遵循建议” - 这很容易,如果你可以选择遵循建议或它打破,为什么有人会选择打破它... – oezi

-2

这不是一个建议的做法,在同一页中有相同的id,但你不应该有任何问题,所有你需要做的JavaScript调用是追加它自己的标签,例如:

$(".tab-1 #div1")...,而不是只$("#div1")...

不过,我总是避免同id和“告诉”你的发电机使用div1-random-number始终使用类使用当前选项卡,以获得小部件看到在上面的代码中

Live example on JsBin

+1

我不会建议使用相同ID的两倍,即使浏览器接受。它仍然是明显错误的,并违反了定义:http://www.w3.org/TR/html401/struct/global.html#h-7.5.2 – oezi

+0

** W3只是一个推荐thingy **,不要以为如果你不遵循建议,那么这个洞世界将会挂起! – balexandre

+1

**推荐是有原因的**,不要再以为每个人都使用现代的金光闪闪浏览器 - 仍然有人使用IE6,Netscape,特殊的Screenreader-Browsers以及许多其他疯狂/旧东西,多个相同ID的问题。 (使用id或class也是同样的工作,那么为什么有人不推荐这些建议呢?最好什么都不会发生,但是你可能会得到一大堆问题) – oezi

相关问题