3

特定の値を選択するための私のドロップダウンリスト-

<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
    }

}

これが機能しない理由と、何が間違っているのか教えてください。

4

2 に答える 2

14

document.getElementsByClassName("catlink")Webページのすべての要素を配列として選択しているため、 [0]を使用する必要があります

 function showDiv( discselect ) 
 { 

 if( discselect === 1) 
 { 
 alert(discselect); // This is alerting fine 
 document.getElementsByClassName("catlink")[0].innerHTML = "aaaaaaqwerty"; // Now working 
 } 
 }
于 2012-06-01T05:56:32.133 に答える
4

nodeListを使用して(特別なノードの配列) を作成しgetElementsByClassNameます。document.querySelectorまたは、 className を持つ最初の要素を返すを使用できます.catlink

function showDiv( discselect ) {
    if( discselect === 1)    {
      document.querySelector(".catlink").innerHTML = "aaaaaaqwerty";
    }
}
于 2012-06-01T06:18:29.667 に答える