我的下拉列表选择特定值 -
<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
}
}
让我知道为什么这不起作用,我做错了什么?
答案 0 :(得分: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
}
}
答案 1 :(得分:4)
使用nodeList
创建getElementsByClassName
(特殊的节点数组)。或者,您可以使用document.querySelector
,它返回带有className .catlink
的第一个元素:
function showDiv( discselect ) {
if( discselect === 1) {
document.querySelector(".catlink").innerHTML = "aaaaaaqwerty";
}
}