Где ошибка в скрипте ? При воспроизведении мои переменные 100% равны , но он не работает(
<script>
if(1 == 1) {}
else if(2 == 2) {
var select = document.getElementById("myselect");
select.removeChild(select.getElementById("myoption"));
};
</script>
во первых если a = 1 то else if не выполняется. Во вторых метод getElementById есть только у document, а у select его не будет зато есть querySelector. А чтобы проверить 2 переменные есть &&.
let a = 1;
let b = 2;
if (a == 1 && b == 2) {
var select = document.getElementById("myselect");
select.removeChild(select.querySelector("#myoption"));
}
<select id="myselect">
<option>weqweqwe</option>
<option>yrytrtyr</option>
<option id="myoption">qweqweqq</option>
<option>adasdasd</option>
</select>
Попробуй так
if(2 == 2 && 1 == 1) {
var select = document.getElementById("myselect");
select.removeChild(document.getElementById("myoption"));
};
<p>1</p>
<p>2</p>
<div id="myselect">
<p>3</p>
<p id="myoption">123</p>
</div>
<p>4</p>
Не лишним будет объяснить логику работы вашего кода (а конкретно - работу условных операторов) с помощью псевдокода.
<script>
if(a == 1) {}
else if(b == 2) {
var select = document.getElementById("myselect");
select.removeChild(select.getElementById("myoption"));
};
</script>
<script>
Если ( a равно 1) то {Делаем действие} // где { и } служат границами действия одного оператора
Иначе, если (b равно 2) то { // Здесь уже идёт проверка, только если в предыдущем if условие не соблюдается
var select = document.getElementById("myselect");
select.removeChild(select.getElementById("myoption"));
};
<script>
let a = 1;
let b = 2;
if (a == 1) {
document.getElementById("myselect").innerHTML="Текст 1";
}
else if (b == 2) {
document.getElementById("myselect").innerHTML="Текст 2";
}
else {
document.getElementById("myselect").innerHTML="Текст 3";
};
<p id="myselect">Привет Мир!</p>
let a = 2;
let b = 2;
if (a == 1) {
document.getElementById("myselect").innerHTML="Текст 1";
}
else if (b == 2) {
document.getElementById("myselect").innerHTML="Текст 2";
}
else {
document.getElementById("myselect").innerHTML="Текст 3";
};
<p id="myselect">Привет Мир!</p>
let a = 2;
let b = 3;
if (a == 1) {
document.getElementById("myselect").innerHTML="Текст 1";
}
else if (b == 2) {
document.getElementById("myselect").innerHTML="Текст 2";
}
else {
document.getElementById("myselect").innerHTML="Текст 3";
};
<p id="myselect">Привет Мир!</p>
let a = 1;
let b = 2;
if (a == 1) { //Если a равно 1
if (b == 1) { //Если b равно 1
document.getElementById("myselect").innerHTML="Текст 1";
}
else if (b == 2) { //Иначе, если b равно 2
document.getElementById("myselect").innerHTML="Текст 2";
}
else { //Иначе
document.getElementById("myselect").innerHTML="Текст 3";
};
};
<p id="myselect">Привет Мир!</p>
Этот вариант можно записать другим способом:
let a = 1;
let b = 2;
if (a == 1 && b == 1) {
document.getElementById("myselect").innerHTML="Текст 1";
}
else if (a == 1 && b == 2) {
document.getElementById("myselect").innerHTML="Текст 2";
}
else if (a == 1) {
document.getElementById("myselect").innerHTML="Текст 3";
};
<p id="myselect">Привет Мир!</p>
Выхода два (как в примере выше):
Можно так
<script>
let a = 1;
let b = 2;
if(a == 1 && b == 2){
var select = document.getElementById("myselect");
select.removeChild(select.getElementById("myoption"));
};
</script>
Или так
<script>
let a = 1;
let b = 2;
if(a == 1){
if(b == 2){
var select = document.getElementById("myselect");
select.removeChild(select.getElementById("myoption"));
};
};
</script>
Продвижение своими сайтами как стратегия роста и независимости