我尝试了以下代码来比较来自 div 元素和来自 textarea 元素的字符串。虽然我在 textarea 中给出了正确的输入,但代码只执行“else”语句。请帮助我处理此代码。
function matchIt() {
var inputstr = (document.getElementById("answerarea")).toString();//textarea element
var displaystr = (document.getElementById("text")).toString();//div element
var res = inputstr.localeCompare(displaystr);
if(res==0)
{
alert("you won");
}
else
{
alert("you loose");
}
}
我试过
if(res===0)
(this.(document.getElementById("text"))).toString();
没有给出输出。
此外,当我尝试使用相同类型的元素(如 h1 或 p 的字符串时,它会给出正确的输出..
最佳答案
要访问 textarea
的值,您必须使用 .value
(它已经是一个字符串),并访问 的文本内容div
,你应该使用 .textContent
属性。
var inputstr = document.getElementById("answerarea").value; //textarea element
var displaystr = document.getElementById("text").textContent; //div element
无需转换为字符串 - 它们已经是字符串。
此外,不要使用 localeCompare
检查字符串是否相等,只需使用 ===
:
var inputstr = document.getElementById("answerarea").value;
var displaystr = document.getElementById("text").textContent;
console.log(inputstr === displaystr);
<textarea id="answerarea" value="foo">foo</textarea>
<div id="text">foo</div>
关于javascript - 使用javascript将文本区域的输入与div中的文本进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50266990/