jQuery-ui标签:标签之间的干扰

时间:2010-04-19 03:33:46

标签: jquery-ui

我使用jQuery-ui标签小部件作为导航。所有选项卡的内容都是通过ajax加载的。似乎标签之间存在干扰。我的意思是,例如,如果在tab1中的page1中有一个ID为foo的元素,而在tab2中的page2中,则有一个具有相同ID的元素。在这两个页面中,都有javascript代码来操作ID为foo的元素,然后会发生奇怪的事情。

如何应对这种情况?

2 个答案:

答案 0 :(得分:1)

当您使用jquery时,您可以根据选项卡名称使用选择器来定位正确的元素。

e.g。如果你的标记看起来像这样:

<div id="tabs">
  <div id="tabs-1">
    <a href="#" id="linkId">blah</a>
  </div>
  <div id="tabs-2">
    <a href="#" id="linkId">blah</a>
  </div>
</div>

您可以使用此选择器专门选择第二个链接,尽管ID重复:

$("#tabs-2 #linkId").whatever();

答案 1 :(得分:1)

您通过拥有唯一ID来处理它 - 也就是说,在所有ID点之后。 :)至于jQuery选择器,是的,你可以澄清你的意思是哪个元素 Bayard Randel 解释,但这是一个危险的做法。我从个人经验中发现,它最终会让你感到厌恶 - 某个地方,某种程度上,你会忘记你有重复的ID。只是避免它们。