#javascript
#javascript
Вопрос:
Кажется, я не могу заставить это работать … для этого нужно переключаться между display = «block» и display = «none».
если средство проверки имеет значение true, отобразите блок, если средство проверки имеет значение false, не отобразите ни одного
Это работает в моем журнале консоли..
HTML
<button id="knapOne">knap</button>
<button id="knapTwo">knap</button>
<p id="demo">hej</p>
<p id="anotherDemo">hej igen</p>
Javascript:
var verifyer = null;
var demo = document.getElementById("demo");
var anotherDemo = document.getElementById("anotherDemo");
document.getElementById("knapOne").onclick = function(){
verifyer = demo;
change()
}
document.getElementById("knapTwo").onclick = function(){
verifyer = anotherDemo;
change()
}
function change(){
var cars = [demo, anotherDemo];
for (index = 0; index < cars.length; index ) {
if(cars != verifyer){
console.log("this is not the current car");
cars.style.display = "none";
}
if(cars = verifyer){
console.log("this is the current car");
cars.style.display = "block";
}
}
}
Комментарии:
1. попробуйте cars[i] ;P таким образом, вы фактически выберете правильный элемент массива. Ваша консоль должна была выдать ошибку.
2. попробуйте
cars == verifyer
выполнить второй оператор if..3.
index
(число) никогда не будет равноcars
(массив элементов).4. В моем примере я не пытаюсь равнять индекс и массив cars. Я просто пытаюсь указать на тот же элемент. Что мне просто нужно было выбрать правильный элемент массива, как показывает использование cars[index] noa-dev и JJ173 в их примерах.
Ответ №1:
Из вашего примера кажется, что вам не хватает индекса при попытке работать с вашим массивом.
Вам нужно убедиться, что вы индексируете, чтобы цикл мог перебирать каждый элемент вашего массива:
for (index = 0; index < cars.length; index ) {
if (cars[index] != verifyer){
console.log("this is not the current car");
cars[index].style.display = "none";
} else if (cars[index] == verifyer){
console.log("this is the current car");
cars[index].style.display = "block";
}
}