2011-10-13 13 views
5

jquery-ui-tabsを使用して、ユーザーが独自のタブを作成できるようにしています。ウィジェットのコンテンツは、小さなプログラムであり、それ自体がミニプログラムのようなものです。ユーザーは、任意のタブで希望のウィジェットを選択できます。jquery-ui-tabsコンテンツの干渉

与えられたウィジェットが1つのタブでのみ設定されている限り、これはうまく動作しますが、任意のウィジェットが2つ以上のタブに追加されたときに間違って開始されます。ウィジェットが生成されると、データベースのIDが使用されます。例えば ​​。与えられたウィジェットが2つ以上のタブに追加された場合、同じIDのidを持つ2つのdivで終わります(例:widget_1)。これは想像できるように問題を引き起こします。

私の質問は、このような問題を解決する最良の方法は何ですか?

私は以前に、1つ以上のタブで同じウィジェットを使用できるようにしたいと思っていたと思います。私は、これはほとんど

答えて

2

「DIV1と呼ばれるdiv要素は」クラスまたはIDとして「DIV1」を持っているん...完全に書き直さなければならないとしている感覚を得ますか?

あなたの質問は、それがIDだような音、そしてすべての問題のthats:the id has to be unique

クラスでは動作し、これを解決するために - 彼らは複数回使用することができますし、まったく同じことを行うことができるはずです(しかし、いくつかのコードを見ることなく、少し難しい)。

編集: w3c-recommendationを表示するように私の拳のリンクを変更しました。私はリンクthis articleの前に

+0

検証されています!私はまだ人々が推薦文書にあまり依存している理由を知りません。推薦は終わりを告げるものですが、ここでは単に推薦に従うことができず、すべてが依然として素晴らしいことを保証します。 .. **任意のブラウザで** ** – balexandre

+0

私はあなたに同意しますが、これは単に「推奨事項に従うことができません」というケースではない - これは簡単で、推奨事項に従うか、誰もがそれを壊すことを選択する必要があります... – oezi

-2

同じページに同じidを持っていることはお勧めできませんが、あなたはJavaScriptコールで行う必要があるすべてが、例えば:

$(".tab-1 #div1")...代わりにのみ$("#div1")...

しかし、私はいつも同じidを避けるだろうとdiv1-random-numberを使用し、常に見られるように、現在のタブを使用してウィジェットを取得するためにクラスを使用するように発電機を「伝えます」上のコード

。すべてがさえせずに正常に動作します - ちょうどあなたがあなたのWebページは、XHTMLやHTMLなどを検証したい場合は、あなたがあなたのページに固有のIDを持っている必要があります*その記事の最後の行を使用して*

Live example on JsBin

+1

ブラウザがそれを受け入れる場合でも、私は同じIDを2回使用することはお勧めしません。それはまだ間違っていて、定義に反しています:http://www.w3.org/TR/html401/struct/global.html#h-7.5.2 – oezi

+0

** W3はお勧めのものです**。あなたが推薦に従わなければ、穴のウェブの世界はハングアップします! – balexandre

+1

**推奨事項は理由があります**、誰もが現代的なbling-bling-browserを使用しているとは思わない - IE6、Netscape、特別なScreenreader-Browsersを使用している人や他にもたくさんのクレイジー/複数の同じIDの問題。 (それはIDやクラスを使うのと同じ仕事なので、アドバンテージを持たずに誰かが推薦を打ち破るのはなぜですか?せいぜい何も起こりませんが、あなたは何かの偶然を得るでしょう) – oezi

関連する問題