Javascript 如果输入为空,则使div显示特定消息
我正在尝试让一个div具有与输入完全相同的内容。如果我在输入中键入lala,我希望它显示在div中。该部分工作正常。但是我还想在div中显示一些东西,当输入为空时,输入的行是空的 所以基本上就像 输入=blabla div=blabla 输入= div=输入为空 我试图使其为空,如果不是,则显示与输入相同的内容。但由于某些原因,空位不起作用Javascript 如果输入为空,则使div显示特定消息,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试让一个div具有与输入完全相同的内容。如果我在输入中键入lala,我希望它显示在div中。该部分工作正常。但是我还想在div中显示一些东西,当输入为空时,输入的行是空的 所以基本上就像 输入=blabla div=blabla 输入= div=输入为空 我试图使其为空,如果不是,则显示与输入相同的内容。但由于某些原因,空位不起作用 const textInput = $('#input'); const textOutput = $('#output');
const textInput = $('#input');
const textOutput = $('#output');
if ( textInput.value == "" ) {
textOutput.innerHTML += 'It's empty';
} else {
textInput.on("input", function() {
textOutput.text($(this).val());
});
}
});```
你这里有一个未替换的引语“它是空的”。
没有理由使用innerHTML
您应该使用===来比较相等性。
const input=document.querySelector'input';
const output=document.querySelector'output';
input.addEventListener'input',=>
output.textContent=input.value?input.value:它是空的。;
确定如果
如果:
if (!textInput.value) {
textOutput.innerHTML = 'It\'s empty';
} else {
textInput.on("input", () => textOutput.text($(this).val()));
}
简称:
!textInput.value ? textOutput.innerHTML = 'It\'s empty' : textInput.on("input", () => textOutput.text($(this).val()));
除了字符串中的撇号“之外,您正在将普通Javascript与JQuery混合,并且您的触发器位于应该在触发器上调用的if块内 如下更改代码:
const textInput = $('#input');
const textOutput = $('#output');
textInput.on("input", function() {
if ( $(this).val() === "" ) {
textOutput.html('It\'s empty');
} else {
textOutput.html($(this).val());
}
});
关于需要更改的内容的逐步说明
在使用jQuery时:
textInput.value==应该是!textInput.val
textOutput.innerHTML='it's empty'应该是textOutput.textit's empty;
text输出.text$this.val;应为textOutput.textInput.val;
它应该都在输入侦听器中,即
textInput.on'change',函数{/*代码在这里*/} 好了
常量$textInput=$'input';
常量$textOutput=$'output';
$textInput.on'input',函数{
如果$textInput.val!={
$textOutput.text$textInput.val;
}
否则{
$textOutput.text'It's empty';
}
};我们需要一张请柬。您注意到您的字符串“It's empty”有什么不寻常的地方吗?添加\-“It's empty”为什么要使用document.querySelector插入值仅为$?很好的示例@MichaelT,因为$不是vanilla JS。欢迎来到Stackoverflow:请解释一下你做了什么以及为什么。简单地向op提供一个没有任何解释的解决方案通常是不被鼓励的。谢谢你,这真的很有帮助!
const textInput = $('#input');
const textOutput = $('#output');
textInput.on("input", function() {
if ( $(this).val() === "" ) {
textOutput.html('It\'s empty');
} else {
textOutput.html($(this).val());
}
});