Вопрос по javascript – innerHTML не работает с именем класса в JS

2

Мой выпадающий список для выбора конкретного значения

<select name="category" id="category" onChange="showDiv(this.value);" >
    <option value="">Select This</option>
    <option value="1">Nokia</option>
    <option value="2">Samsung</option>
    <option value="3">BlackBerry</option>
    </select>

Это div, где я хочу показать текст

<span class="catlink"> </span>

И это моя функция JS -

    function showDiv( discselect )
    {

    if( discselect === 1)
    {
    alert(discselect); // This is alerting fine
    document.getElementsByClassName("catlink").innerHTML = "aaaaaaqwerty"; // Not working
    }

}

Дайте мне знать, почему это не работает, и что я делаю не так?

Ваш Ответ

2   ответа
4

nodeList (специальный массив узлов) с использованиемgetElementsByClassName, В качестве альтернативы вы можете использоватьdocument.querySelector, который возвращает первый элемент с className.catlink:

function showDiv( discselect ) {
    if( discselect === 1)    {
      document.querySelector(".catlink").innerHTML = "aaaaaaqwerty";
    }
}
Error: User Rate Limit Exceeded swapnesh
14

document.getElementsByClassName("catlink")выбираетall the elements на веб-странице какarray поэтому вы должны использовать[0]

  { 

 if( discselect === 1) 
 { 
 alert(discselect); // This is alerting fine 
 document.getElementsByClassName("catlink")[0].innerHTML = "aaaaaaqwerty"; // Now working 
 } 
 }
Error: User Rate Limit Exceeded swapnesh
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded swapnesh
Error: User Rate Limit Exceeded

Похожие вопросы