听起来很疯狂,但我只是想知道我是否可以有一个元素(任何东西,小或复杂),然后在其他地方有一个克隆元素,它绝对模仿第一个元素上更改的所有内容。
我知道使用 JavaScript 和 jQuery 可以轻松实现这样的事情。但是,我想到的任何解决方案都涉及每个变量(或独立修改的单独元素实例)
例如
<div class="class"></div>
<div class="class"></div>
<div class="class"></div>
$('.class').css('color','blue');
这段 javascript / jQuery 将选择每个元素实例,并将蓝色单独应用于每个元素。
我想知道的是,是否有办法改变一个单一的元素,这将反映在元素副本上。
所以克隆元素不会有自己的可以单独更改的属性。他们从字面上使用原始元素的属性。当原始元素的属性被修改时,克隆也会被修改,因为它们的内部状态是引用原始元素。
这样的结构存在吗?
我的理由是这样的:
如果你有 1000 个元素。每个元素都很大。一个元素包含以下内容:
.attributes
.baseURI
.childNodes
.children
.className
等等......并且每个元素的每个属性都被复制。那是1000份,.baseURI
对.clientWidth
吗?如果是这样。这肯定是非常糟糕的。
如果有 ONE 元素,就会有 ONE .attributes、.children 等,所有克隆的元素都会使用它们。
编辑
好的,更多的澄清。
假设您有一个动态选择框,其选项可以根据事件驱动的 javascript/ajax 应用程序中可能发生的各种事件而改变,然后您必须在页面的不同位置拥有同一个选择框的多个副本。处理一个选择框会更有效率,并让所有其他 html 副本自动更改,而无需使用 JavaScript 处理它们。我认为这显然必须是某种原生支持,但我什至不确定这种原生支持是否存在。
它可能是 HTML5 规范之一