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")正在选择网页中的所有元素作为数组,因此您必须使用[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 回答