来自AJAX加载内容的重复元素ID

时间:2012-08-16 13:52:45

标签: html html5

我遇到了一个问题,我从AJAX源码中加载了3个DIV。返回的HTML看起来有点像:

<div>
  <label for="firstName">First Name</label>
  <input id="firstName" name="firstName"....
</div>

所以想象一下这个块在同一个DOM中重复了3次。问题是当我点击第3个加载的DIV中的标签时,它突出显示第1个加载的DIV中的文本框。所以现在我所拥有的是3块HTML,其中ID正在发生冲突。

有谁知道有任何解决方法?

感谢。

1 个答案:

答案 0 :(得分:3)

具有相同ID的多个元素不符合标准。因此,IE浏览器表现出一种方式,而Chrome则表现出另一种方式。

一种方法是在从AJAX源加载时修改ID。您可以像id="UNIQUE_id"一样提供占位符ID,然后使用.html().replace(/UNIQUE_/g, something_unique )); something_unique < / strong>可能只是一个连续递增的数字......