JavaScript не может очищать содержимое элемента div с помощью innerHTML = "" - PullRequest
0 голосов
/ 12 октября 2018

У меня есть следующие кнопки и 2 функции нажатия () и очистки ().press () может работать нормально, но с clear (), я думал, что сделал все правильно, но это не работает.Может кто-нибудь помочь мне с этой проблемой.Большое спасибо.Вот мой код:

            <div id="text"></div>
            <button id="7" onclick="press(this.id)">7</button>
            <button id="8" onclick="press(this.id)">8</button>
            <button id="9" onclick="press(this.id)">9</button>
            <button id="clear" onclick="clear()">Clear</button>



     function press(pressed_id)
     {
        document.getElementById("text").innerHTML += document.getElementById(pressed_id).innerHTML;
     }
     function clear()
     {
        document.getElementById("text").innerHTML = "";
     }

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Ваша функция верна.Вы просто использовали зарезервированное слово CLEAR в качестве функции.Попробуйте изменить имя функции на clear_text () и все готово.

         <div id="text"></div>
            <button id="7" onclick="press(this.id)">7</button>
            <button id="8" onclick="press(this.id)">8</button>
            <button id="9" onclick="press(this.id)">9</button>
            <button id="clear" onclick="clear_text()">Clear</button>


<script>
     function press(pressed_id)
     {
        document.getElementById("text").innerHTML += document.getElementById(pressed_id).innerHTML;
     }
     function clear_text()
     {     
        document.getElementById("text").innerHTML = "";
     }
</script>
0 голосов
/ 12 октября 2018

В js существует функция с именем clear.Переименуйте свою функцию в другое.Возможно пусто ().Не думай, что это зарезервировано.

Кроме того, window.clear(), кажется, тоже справится с этой задачей, если вы сохраните имя своей функции понятным.

...