Javascript 如何通过简单的if条件语句将div可见性与输入文本链接

Javascript 如何通过简单的if条件语句将div可见性与输入文本链接,javascript,jquery,html,Javascript,Jquery,Html,我想通过非常简单的if条件语句将两个htmldiv的可见性与输入是否有值联系起来,但我可能有问题 html: 它只在我第一次输入时起作用。 有人能帮我吗?错误:无效的jquery对象更改为而不是val。并验证长度。使用trim()删除不需要的空间,否则也会计算空空间 $('#标记')。在('keyup',函数(e)上{ var div1=$(“#div1”); var div2=$(“#div2”); var txt=$(this.val().trim().length; 如果(txt.le

我想通过非常简单的if条件语句将两个htmldiv的可见性与输入是否有值联系起来,但我可能有问题

html:


它只在我第一次输入时起作用。
有人能帮我吗?

错误:无效的jquery对象更改为而不是
val
。并验证长度。使用
trim()
删除不需要的空间,否则也会计算空空间

$('#标记')。在('keyup',函数(e)上{
var div1=$(“#div1”);
var div2=$(“#div2”);
var txt=$(this.val().trim().length;
如果(txt.length==0){
div1.hide();
div2.show();
}否则{
div1.show();
div2.hide();
}
});

这是第一个div,表示输入没有值
这是第二个div,表示输入确实有值。

错误:无效的jquery对象更改为而不是
val
。并验证长度。与
trim()
一起使用可删除不需要的空间,否则将同时计算空空间

$('#标记')。在('keyup',函数(e)上{
var div1=$(“#div1”);
var div2=$(“#div2”);
var txt=$(this.val().trim().length;
如果(txt.length==0){
div1.hide();
div2.show();
}否则{
div1.show();
div2.hide();
}
});

这是第一个div,表示输入没有值
这是第二个div,表示输入确实有值。
使用以下方法:

var txt=$(this).val() ;
而不是

var txt=$(this).val ;
有关val()函数的正确用法,请参阅jQuery。

使用以下方法:

var txt=$(this).val() ;
而不是

var txt=$(this).val ;
有关val()函数的正确用法,请参阅jQuery。

使用
$(this.val().length

<input id="tags" />
<div id="div1" >
    this is first div means input don't have value values
</div>
<div id="div2" >
    this is second div means input does have value.
</div>


$('#tags').keyup(function() {

    // If value is not empty
    if ($(this).val().length == 0) {
        div1.hide();
        div2.show();
    } else {
         div1.show();
         div2.hide();
    }
}).keyup(); // Trigger the keyup event on page load

这是第一个div,表示输入没有值
这是第二个div,表示输入确实有值。
$(“#标记”).keyup(函数(){
//如果值不为空
if($(this).val().length==0){
div1.hide();
div2.show();
}否则{
div1.show();
div2.hide();
}
}).keyup();//在页面加载时触发keyup事件
使用
$(this.val().length

<input id="tags" />
<div id="div1" >
    this is first div means input don't have value values
</div>
<div id="div2" >
    this is second div means input does have value.
</div>


$('#tags').keyup(function() {

    // If value is not empty
    if ($(this).val().length == 0) {
        div1.hide();
        div2.show();
    } else {
         div1.show();
         div2.hide();
    }
}).keyup(); // Trigger the keyup event on page load

这是第一个div,表示输入没有值
这是第二个div,表示输入确实有值。
$(“#标记”).keyup(函数(){
//如果值不为空
if($(this).val().length==0){
div1.hide();
div2.show();
}否则{
div1.show();
div2.hide();
}
}).keyup();//在页面加载时触发keyup事件
希望能有帮助。这是一支笔的工作代码:

希望能有帮助。这是一支笔的工作代码:

// Declaring outside of the functions speeds up the page because it prevents 
// jQuery from parsing the hole html document again.
var div1 = $('#div1');
var div2 = $('#div2');

// Declare the function outside of jQuery so that we can init the fields
function handleKeyup(event) {
    var content = event.target.value;

    if (content.length !== 0) {
        div1.hide();
        div2.show();
        return;
    }

    div1.show();
    div2.hide();
}

// Call the function with no data to init the div fields
handleKeyup({ target: { value: '' } });

// Register the keyup listener
$('#tags').on('keyup', handleKeyup);