gpt4 book ai didi

javascript - 模仿另一个的 HTML 元素

转载 作者:搜寻专家 更新时间:2023-10-31 08:56:23 25 4
gpt4 key购买 nike

听起来很疯狂,但我只是想知道我是否可以有一个元素(任何东西,小的或复杂的),然后在其他地方有一个克隆元素,它完全模仿第一个元素上发生的所有变化。

我知道使用 JavaScript 和 jQuery 可以轻松实现类似的功能。但是,我想到的任何解决方案都涉及每个变量(或独立修改的单独元素实例)

例如

<div class="class"></div>
<div class="class"></div>
<div class="class"></div>
$('.class').css('color','blue');

这段 javascript/jQuery 将选择每个元素实例,并将蓝色分别应用到每个元素。

我想知道的是,是否有一种方法可以更改单个元素,这将反射(reflect)在元素副本上。

因此克隆元素不会有自己的可以单独更改的属性。他们从字面上使用原始元素的属性。当原始元素属性被修改时,克隆也会被修改,因为它们的内部状态引用原始元素。

这样的构造是否存在?

我的推理是这样的:

如果你有 1000 个元素。每个元素都很大。一个元素包含如下内容:

.attributes
.baseURI
.childNodes
.children
.className

等等...并且为每个元素复制了每个属性。那是 .baseURI.clientWidth 的 1000 个副本,对吧?如果是这样。这肯定非常糟糕。

如果只有一个元素,就会有一个 .attributes、.children 等,所有克隆的元素都会使用它们。

编辑

好的,更多说明。

假设您有一个动态选择框,它的选项可以根据事件驱动的 javascript/ajax 应用程序中可能发生的各种事件而改变,然后您必须在页面的不同位置有同一个选择框的多个副本。处理一个选择框,并让所有其他 html 副本自动更改,而无需使用 JavaScript 处理它们,效率会高得多。我认为这显然必须是某种原生支持,但我什至不确定是否存在这种原生支持。

它可能是一个针对 HTML5 规范的

最佳答案

你有办法改变一个独特的东西并同时应用于所有元素,这是一个:

CSS。

如果你有很多相同的类,例如:.testclass 并且你想更改所有的background-color,首先,创建一个名为 test.css 的文件,将其放入页面的同一根文件夹中。

将此 css 放入您的 test.css:

.testclass{ background-color: red;}

执行该 javascript 代码:

$('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', 'test.css') );

然后 javascript 将使页面加载一个包含背景颜色代码的新 css,以应用于具有 .testclass 类的所有元素。

这样您就不会进行迭代并同时应用于所有元素。

--编辑--

我明白你想要什么了。我找到了如何克隆 DOM,我克隆了一个,然后附加到主体,看这个:

$('your_select_identifier').change(function(e){ //when your select has changed...
$('the_other_select').remove();//here i removed the old one.
document.body.appendChild($('your_select_identifier')[0].cloneNode()); //here i cloned the DOM Node of your main select and did append on the document body as the new select.
});

我希望你能用这个做你想做的事:)(我已经花时间和那个kkk在一起了。)

关于javascript - 模仿另一个的 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com