gpt4 book ai didi

JavaScript - CSS 元素样式不会改变?

转载 作者:行者123 更新时间:2023-11-28 06:25:33 25 4
gpt4 key购买 nike

我正在制作一个扑克程序。我有一个 div 网格,用于显示卡片的位置。用户可以点击输入卡片,使图像出现在所选区域。每个 div 都有一个默认的 1px 黑色点状边框,当用户单击其中一个时,边框会更改样式为 2px 实心蓝色边框。在该函数中,所有 div 上的边框应该变回默认值,然后边框样式会更改为被单击的那个。问题在于,如果用户将卡片输入其中一个 div,然后在 div 仍处于选中状态时再次单击该 div,则该 div 将永远处于选中状态。这是函数:

var clickCardLocation = function(e){
var target = e.target || e.srcElement; //target element of click
var cardClass = document.getElementsByClassName("card"); //creates array of div class="card" elements
var SELECTED = "2px solid blue";
var DESELECTED = "1px dotted black";
for (var i = 0; i < cardClass.length; i++){ //loop through all card divs in gui
cardClass[i].style.border = DESELECTED; //deselect them
}
target.style.border = SELECTED; //change border for only clicked div
};

当我调试它时,它看起来逻辑上是合理的,但它的行为不正确。边框在屏幕上保持选中状态,即使调试器说 cardClass[i].style.border = "1px dotted black"。

最佳答案

没有getElementByClassName。有 getElementsByClassName。我不确定调试器如何到达那里。

关于JavaScript - CSS 元素样式不会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35324317/

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