值严格相等的问题

问题描述 投票:0回答:1

我在这里和编码领域都是新手,我正在为必须编写的代码评分。分级机非常挑剔,所以我对此有疑问,所以顺序很重要,而现实世界中的事情并不重要。但是仍然有一些问题。我通过创建按钮,为它们分配innerText,一个ID并将它们一个接一个地创建,从Javascript创建了一个键盘。这是我的代码。

let G4 = document.createElement ('button');
let sibemol = document.createElement ('button');
let C5 = document.createElement ('button');
let D5 = document.createElement ('button');
let F5 = document.createElement ('button');
let G5 = document.createElement ('button');

G4.innerHTML = '<button id="G4">G4</button>';
sibemol.innerHTML = '<button id="A#4">Bb4</button>';
C5.innerHTML = '<button id="C5">C5</button>';
D5.innerHTML = '<button id="D5">D5</button>';
F5.innerHTML = '<button id="F5">F5</button>';
G5.innerHTML = '<button id="G5">G5</button>';

G4.setAttribute('id', 'G4');
sibemol.setAttribute('id', 'A#4');
C5.setAttribute('id', 'C5');
D5.setAttribute('id', 'D5');
F5.setAttribute('id', 'F5');
G5.setAttribute('id', 'G5');

let keyboard = document.getElementById('simple-keyboard');
keyboard.appendChild(G4);
keyboard.appendChild(sibemol);
keyboard.appendChild(C5);
keyboard.appendChild(D5);
keyboard.appendChild(F5);
keyboard.appendChild(G5);

我遇到的问题是,从一开始“我应该有6个按钮”,而我却是12个,为什么还要加倍,我又如何做到这一点呢?必须写行以便他们想要,显然-ik很烂。然后,我看到“按钮应该具有innerText Bb4或A#4”,并且我收到以下消息:表达式计算为假值:assert(note.indexOf(text)> = 0)

为什么?而且...我已经有内文,所以我不知道出了什么问题。

然后,在我之前提到的两条消息之后,程序只是继续传递这些消息,就好像事情以错误的顺序进行:⨯3.按钮应具有ID属性C5(3p)期望值严格相等:'A#4'!=='C5'

看起来,直到我不解决Bb4问题,我都没有得到其余代码的检查-而且我只有5种可能的提交方式可以使用...

谢谢!

javascript html button expression innertext
1个回答
1
投票

现在,您正在为每个按钮创建一个按钮[[在按钮内部:

let C5 = document.createElement ('button'); C5.innerHTML = '<button id="C5">C5</button>';
这就像创建一个东西是

<button><button id="C5">C5</button></button>

这就是引起问题的原因。

相反,分配给您创建的按钮的idtextContent属性:

sibemol.id = 'A#4'; // you're already doing this with setAttribute below sibemol.textContent = 'Bb4'; C5.id = 'C5'; C5.textContent = 'C5'; D5.id = 'D5'; D5.textContent = 'D5'; // etc

((不需要setAttribute,它不必要冗长)

或者,如果ID与textContent匹配,则较少重复:

const keys = ['G4', 'Bb4', 'C5', 'D5', 'F5', 'G5']; for (const key of keys) { const button = keyboard.appendChild(document.createElement('button')); button.id = key; button.textContent = key; }

© www.soinside.com 2019 - 2024. All rights reserved.