我使用jQuery-ui标签小部件作为导航。所有选项卡的内容都是通过ajax加载的。似乎标签之间存在干扰。我的意思是,例如,如果在tab1中的page1中有一个ID为foo的元素,而在tab2中的page2中,则有一个具有相同ID的元素。在这两个页面中,都有javascript代码来操作ID为foo的元素,然后会发生奇怪的事情。
如何应对这种情况?
答案 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。只是避免它们。