Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 设置显示:从textarea删除文本后,对某些div无_Jquery - Fatal编程技术网

Jquery 设置显示:从textarea删除文本后,对某些div无

Jquery 设置显示:从textarea删除文本后,对某些div无,jquery,Jquery,如何在我从textarea删除文本后将display:none设置为某个div 我有这个 $("#par02par04text textarea").keyup(function() { $('#par02TextComments.comments').css('display','table-cell'); $('#par02LabelComments.comments').css('display','table-cell'); }); 在我开始在textarea中键入文本

如何在我从textarea删除文本后将display:none设置为某个div

我有这个

$("#par02par04text textarea").keyup(function() {
    $('#par02TextComments.comments').css('display','table-cell');
    $('#par02LabelComments.comments').css('display','table-cell');
});
在我开始在textarea中键入文本后,我想在从textarea中删除文本时反转该设置,我想设置显示:无

这是我写的

$("#par01par04text textarea").keyup(function() {
    var n = $("td#par01TextComments").length;
    if (n > 0) {
        $('#par01TextComments.comments').css('display','table-cell');
        $('#par01LabelComments.comments').css('display','table-cell');
    }
    else if (n == 0){
        $('#par01TextComments.comments').css('display','none');
        $('#par01LabelComments.comments').css('display','none');
    }
}); 
但是,当您执行
$(“td#par01textcoments”)时,什么也不会发生。length
您实际上得到的是jquery对象的长度,而不是查询的元素的值

首先使用textarea的.val()获取值并检查长度

$("#par01par04text textarea").keyup(function() {
    var n = $(this).val().length;
    ...
});
注:

您不应该使用标记名(例如:
td#someID
)预先设置ID选择器,因为这样会降低其效率

ID选择器通常使用本机javascript函数getElementById()。通过在标记名前面加上前缀,jquery无法使用本机函数和任何其他方式,则getElementById的效率较低。

当您使用
$(“td#par01TextComments”)。length
您实际上得到的是jquery对象的长度,而不是所查询元素的值

首先使用textarea的.val()获取值并检查长度

$("#par01par04text textarea").keyup(function() {
    var n = $(this).val().length;
    ...
});
注:

您不应该使用标记名(例如:
td#someID
)预先设置ID选择器,因为这样会降低其效率


ID选择器通常使用本机javascript函数getElementById()。通过在标记名前面加上前缀,jquery无法使用本机函数和任何其他方式,则getElementById的效率较低。

如果使用jquery,也可以先执行.hide()和.show(),是否尝试在条件(n==0)中添加类似alert(1)的调试语句如果您使用JQuery,也可以先执行.hide()和.show(),您是否尝试在条件(n==0)中添加类似于alert(1)的调试语句,并看到它实际进入该块?