javascript onclick change div не работает, пока классы или встроенные стили внутри html - PullRequest
0 голосов
/ 06 августа 2020

Я использую javascript для изменения содержимого html, просто для примера я сделал что-то вроде ниже:

<div id="grid">
  <div id="title">
    <button onclick='document.getElementById("grid").innerHTML = "<p style="color:red">semma <b class="mate">Kite</b></p>"' style="background: linear-gradient(to bottom, #cc99ff 0%, #ff99cc 100%);">

      <h3>  Rice, Grains &amp; Flours</h3>
      </button>
  </div>
</div>

это не работает, потому что я использую класс и встроенный стиль в onclick. может кто-нибудь подскажите, пожалуйста, как это исправить. заранее спасибо

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Вы должны закомментировать кавычки внутри \"

<div id="grid">
  <div id="title">
    <button onclick='document.getElementById("grid").innerHTML = "<p style=\"color:red\">semma <b class=\"mate\">Kite</b></p>"' style="background: linear-gradient(to bottom, #cc99ff 0%, #ff99cc 100%);">

      <h3>  Rice, Grains &amp; Flours</h3>
      </button>
  </div>
</div>
1 голос
/ 06 августа 2020

Проблема здесь: <button onclick='document.getElementById("grid").innerHTML = "<p style="color:red">semma <b class="mate">Kite</b></p>"' style="background: linear-gradient(to bottom, #cc99ff 0%, #ff99cc 100%);">. Вы не избежали двойных кавычек. Правильный HTML для кнопки будет следующим:

<button onclick='document.getElementById("grid").innerHTML = "<p style=\"color:red\">semma <b class=\"mate\">Kite</b></p>"' style="background: linear-gradient(to bottom, #cc99ff 0%, #ff99cc 100%);">

<div id="grid">
  <div id="title">
    <button onclick='document.getElementById("grid").innerHTML = "<p style=\"color:red\">semma <b class=\"mate\">Kite</b></p>"' style="background: linear-gradient(to bottom, #cc99ff 0%, #ff99cc 100%);">
      <h3>  Rice, Grains &amp; Flours</h3>
      </button>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...