javascript - 如何为div内的每个元素设置边框颜色?

标签 javascript html jquery css

我一直在研究标记图像的代码。我能够插入标签,并为每个插入的标签创建一个小框,并且标签名将显示在里面。我想做的是,为创建的每个框设置不同的颜色。

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:

enter image description here

在此图像 1 中,您可以看到具有两种不同颜色的元素。当我添加新元素时,这些颜色会发生变化。即,对于 Div 内添加的每个元素,每个元素的边框颜色不断变化。

图像 2:

enter image description here

图像 2 显示了元素边框颜色的变化。我想要的是 Div 内的每个元素都有不同的固定颜色,这样它们在添加新元素时就不会改变颜色。

有人可以帮我解决这个问题吗?

最佳答案

试试这个:

        var render = document.querySelector('#tags');
        var btnAdd = document.querySelector('#btn-add');
        var tags = [];

        btnAdd.addEventListener('click', () => {
            var nameTag = document.querySelector('#name-tag');
            var color = ((1 << 24) * Math.random() | 0).toString(16);
            render.innerHTML += `
                <div class="tag" style="border-color: #${color};">
                    ${nameTag.value}
                </div>
            `;
        });
        .tag {
            border-radius: 4px;
            border: 2px solid skyblue;
            color: #000;
            padding: 2px 8px;
            margin: 4px 4px;
            float: left;
        }
    <input type="text" id="name-tag" placeholder="name tag...">
    <button id="btn-add">Add</button>
    <hr>
    <div id="tags">
    </div>

关于javascript - 如何为div内的每个元素设置边框颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62867533/

相关文章:

jquery - 使用 jquery 隐藏和移动元素

javascript - 如何获取多个附加文本框的值?

javascript - 带有 Knockout.js 的 MVVM

javascript - 跨域消费WebService

javascript - 无法自定义 jQuery 验证消息

javascript - Bootstrap,ng-repeat 中的数据切换,默认打开和/或绑定(bind)打开到数据

javascript - 如何将元素添加到 jquery.shapeshift 网格

html - 将一个 div 放在另一个 div 中

jquery - 背景图像/尺寸上的 CSS 过渡非常颠簸,我怎样才能让它更平滑?

javascript - Masonry/Isotope.js 无法正常工作