【发布时间】:2020-07-12 23:48:17
【问题描述】:
我一直在编写代码来标记图像。我能够插入标签,并且为每个插入的标签创建一个小框,标签名将显示在里面。我想做的是,为每个创建的框设置不同的颜色。
var html = "<div class='inputtag'><i class='fa fa-eye' aria-hidden='true'></i><i class='fa fa-trash-alt' aria-hidden='true'></i><span>" + input + "</span><input type='hidden' name='tag_name[]' value='" + input + "'></div>";
$('.tags').append(html);
var theColors = []
document.querySelectorAll(".inputtag").forEach((el, idx) =>
theColors.push("#" + ((1 << 24) * Math.random() | 0).toString(16)); el.style.borderColor = theColors[idx]
)
.inputtag>i {
margin - right: 4 px;
}
.inputtag {
border - radius: 4 px;
border: 1 px solid skyblue;
color: #000;
padding: 2px 8px;
width: max-content;
text-align: center;
cursor: pointer;
margin: 4px 4px;
float: left;
}
在上面的 Javascript 代码中,我尝试为 div 内的元素获取不同的边框颜色,但在每个新条目后颜色会不断变化。我附上了下面的图片以便更好地解释它。
图片1:
在这张图片 1 中,您可以看到具有两种不同颜色的元素。当我添加一个新元素时,这些颜色会发生变化。即,对于添加到 Div 中的每个元素,每个元素的边框颜色都会不断变化。
图片 2:
图 2 显示了元素边框颜色的变化。我想要的是为 Div 中的每个元素设置不同的固定颜色,这样它们在添加新元素时不会改变颜色。
谁能帮我解决这个问题。
【问题讨论】:
标签: javascript html jquery css