dom元素可见性对javascript很重要

时间:2018-05-17 07:06:36

标签: javascript dom twitter-bootstrap-3

我知道id对于当前的dom必须是唯一的,但即使两个dom元素永远不会同时可见,它也会成立。

我有这种情况:

<div class="visible-lg visible-md">
  <div id="test"></div>
</div>
.
.
.
<div class="visible-sm visible-xs">
 <div id="test"></div>
</div>

<script>
  .
  .
  .
   document.getElementById("test").innerHTML = "this text";
</script>

无论我在哪种设备尺寸,只有第一个元素得到更新。如何确保更新正确的元素?

2 个答案:

答案 0 :(得分:1)

  

我知道id对于当前的dom必须是唯一的,但是即使两个dom元素永远不会同时可见,它也会成立。

是。可见性无关紧要,List<Order> orders = ...; var enumerator = orders.GetIndexedListEnumerator(); enumerator.Index = 10; Console.WriteLine(enumerator.Current); // Prints orders[10] enumerator.MovePrevious(); Console.WriteLine(enumerator.Current); // Prints orders[9] enumerator.MoveNext(); enumerator.MoveNext(); Console.WriteLine(enumerator.Current); // Prints orders[11] 必须是唯一的。它不是JavaScript的东西,它是a DOM thing [HTML下的图层]:

  

元素可以具有关联的唯一标识符(ID)

注意术语“独特”。

答案 1 :(得分:0)

如果您设法删除隐藏的Dom并在需要时附加它(然后删除旧版本),然后您可以为两者添加相同的ID,因为有一次您将只有一个具有该ID的元素。