javascript - 元素不会附加到容器

标签 javascript html css arrays

我正在开发一款简单的 21 点游戏,庄家将得到一张牌,玩家将得到两张牌(基本规则)。

卡片显示得很好,但是当我将一个类附加到经销商卡片容器时,容器拒绝确认我刚刚附加的类。我从我的播放器功能中复制并粘贴了相同的代码,该代码成功地处理了播放器卡,但似乎也不适用于我的经销商功能。

我要附加的类是“symbol”。

如果您查看下面的 jsfiddle 片段,您可以检查它以查看类“symbol”没有附加到经销商,但在播放器功能中完全正常工作。

预先感谢您的帮助。

http://jsfiddle.net/vorqdkb7/1/

经销商

function deal_dealer_cards(){
    let dealerContainer = document.querySelector('.dealer_container');

        let card = deck.pop();
        dealerHand.push(card);

        let dealerCard = document.createElement('div');
        dealerCard.className = "dealer_card";
        dealerContainer.append(dealerCard);

        let rank = document.createElement('div');
        rank.className = "rank";
        dealerCard.append(rank);
        rank.innerHTML = card.value;


        let symbol = document.createElement('div');
        dealerCard.append(symbol);
        symbol.className = 'symbol';

        let cardSymbol = document.createElement('span');
        symbol.append(cardSymbol);
        cardSymbol.setAttribute('id', 'card_symbol');

        let i = document.createElement('i');
        cardSymbol.append(i);
        let fa = "fas ";

播放器

function deal_player_cards(){

    let playerContainer = document.querySelector('.player_container');


    let fa = "fas ";

        for (let i = 0; i < 2; i++){
            let card = deck.pop();
            playerHand.push(card);


            let playerCard = document.createElement('div');
            playerCard.className = "player_card";
            playerContainer.append(playerCard);

            let rank = document.createElement('div');
            rank.className = "rank";
            playerCard.append(rank);
            rank.innerHTML = card.value;


            let symbol = document.createElement('div');
            playerCard.append(symbol);
            symbol.className = 'symbol';
            let cardSymbol = document.createElement('span');
            symbol.append(cardSymbol);
            cardSymbol.setAttribute('id', 'card_symbol');

            let i = document.createElement('i');
            cardSymbol.append(i);
            let fa = "fas "; }

最佳答案

好的,div .symbol 确实会被追加,但在您的代码下方更新类名。

用这段代码 symbol.className = fa + "fa-heart";

现在我不知道你在这里需要什么。但是如果你想附加符号类,也许你想做类似的事情

symbol.className += " " + fa + "fa-heart";

希望对你有帮助

关于javascript - 元素不会附加到容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504115/

相关文章:

html - 我可以通过 CSS 类添加 HTML 标记吗?

javascript - 如何从javascript(Angular6)中的数组中删除数组?

html - 如何删除 cards bootstrap 4 中的多余空间

javascript - 将 ISO 日期更改为短日期 JavaScript

html - 右侧白色 block (html外)

html - 如何获得 transform3d 效果

css - 选择子菜单时如何设置图像

javascript - 带有 Semantic-UI 框架的可折叠侧边栏

javascript - 从 html 中删除

javascript - 如何使用 Closure Compiler 优化 Javascript 并保留函数名称?