作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我也有相同数量的不同元素我希望分别具有相同的-6ren">
我有一些标签元素 <a class="banner2">
每个人都有不同的background image
网址和 href
值(value)。
<a href="#" target="_blank" class="banner2" style="background-image:url('<?php echo get_template_directory_uri(); ?>/images/koniaris.jpg');">
</a>
我也有相同数量的不同元素<a class="banner3">
我希望分别具有相同的背景图像和 href 值。
<a href="#" target="_blank" class="banner3">
</a>
我的意思是对于每个 .banner2
我想要一个相应的元素 .banner3
元素具有其背景图像 url 和 href 值。
那么我该如何循环两个类并复制属性值呢?
最佳答案
您可以这样尝试,CSS 大小只是为了让元素在测试期间出现,而红色边框只是为了识别哪个是哪个。
捕获对要设置背景的类 banner3
的所有元素的引用,并捕获要从中选择背景图像的所有元素的节点列表。遍历节点列表并根据索引 i
选择相应的其他节点 - 分配背景。
这仅显示正在复制的背景图像 - 由于 href 属性相同,因此复制该属性似乎没有多大意义,但这样做是一项微不足道的任务。
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>Copy background image to corresponding element</title>
<script>
document.addEventListener('DOMContentLoaded',()=>{
let col=Array.prototype.slice.call( document.querySelectorAll('a.banner3') );
Array.prototype.slice.call( document.querySelectorAll('a.banner2') ).forEach( ( a, i )=>{
col[ i ].style.backgroundImage=a.style.backgroundImage;
})
});
</script>
<style>
.banner2, .banner3{ display:block; width:300px; height:300px; margin:1rem; }
.banner3{ border:1px solid red; }
</style>
</head>
<body>
<a href="#" target="_blank" class="banner2" style="background-image:url('images/25398691_10214872887759191_3871602197915899055_n.jpg');"></a>
<a href="#" target="_blank" class="banner2" style="background-image:url('images/27972581_10157094423021258_4761504312023581045_n.jpg');"></a>
<a href="#" target="_blank" class="banner2" style="background-image:url('images/183096_1908068104875_1336992821_2226175_4522067_n.jpg');"></a>
<a href="#" target="_blank" class="banner3"></a>
<a href="#" target="_blank" class="banner3"></a>
<a href="#" target="_blank" class="banner3"></a>
</body>
</html>
关于javascript - 如何从多个元素复制属性值并将每个元素复制到不同的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58507174/
我是一名优秀的程序员,十分优秀!