我是javascript的新手,并试图将匿名函数附加到事件监听器。该函数的作用是当鼠标悬停在第一个元素上时,将根据第一个元素中文本的长度在第二个元素中显示一条消息。
然而,当我将鼠标悬停在第一个元素上时,没有任何反应。因为我是JavaScript的新手,所以我不确定我做错了什么。
function checkLength(event, minLength){
var el, elementTwo;
el = event.target;
elementTwo = el.nextSibling;
if(el.value.length < minLength){
elementTwo.innerHTML = "not enough";
} else {
elementTwo.innerHTML = "enough";
}
}
var elUserName = document.getElementById("one");
elUserName.addEventListener("mouseover", function(event){
checkLength(event, 5);
}, false);
<div>
<div id="one">Bob</div>
<div id="two"></div>
</div>
答案 0 :(得分:2)
要访问您使用text
元素的textContent
。 value
用于输入。
此外,您需要选择下一个元素兄弟,而不仅仅是下一个兄弟节点。
function checkLength(event, minLength){
var el, elementTwo;
el = event.target;
elementTwo = el.nextElementSibling;
if(el.textContent.length < minLength){
elementTwo.innerHTML = "not enough";
} else {
elementTwo.innerHTML = "enough";
}
}
var elUserName = document.getElementById("one");
elUserName.addEventListener("mouseover", function(event){
checkLength(event, 5);
}, false);
&#13;
<div>
<div id="one">Bob</div>
<div id="two"></div>
</div>
&#13;