为什么这个javascript函数提示text类型的nodeValue为undefined?

我想点击按钮,改变<p>标签内的文本内容,可是总是提示:

Uncaught TypeError: Cannot read property 'nodeValue' of undefined

/////////html///////////
<input type="text" name="email" id="email" placeholder="请输入邮箱">
<button id="check-email">邮箱格式是否符合</button>
<div class="email-result">请点击查询</div>

/////////////js////////////
function isEmail(emailStr) {
    var emailResult = document.getElementsByClassName("email-result");
	console.log(typeof emailResult)            //这里输出object
	console.log(emailResult.firstChild.nodeValue)     //未定义
	emailResult.firstChild.nodeValue = "finish your implement";        //未定义
}


newsudhc3634140
浏览 1960回答 1
1回答

stone310

因为 var emailResult = document.getElementsByClassName("email-result");这里通过getElementsByClassName获取的是个类数组,而.firstChild.nodeValue前面需要一个单个元素;因此需要在getElementsByClassName后面加上[0],即使你的页面上最后获取只有1个元素;即var emailResult = document.getElementsByClassName("email-result")[0];
打开App,查看更多内容
随时随地看视频慕课网APP