Javascript 如果没有',则显示不同的结果;在jQuery中找不到ID

Javascript 如果没有',则显示不同的结果;在jQuery中找不到ID,javascript,jquery,html,css,toggle,Javascript,Jquery,Html,Css,Toggle,我有一个选择菜单和一些div与之关联。我希望选择菜单根据选择菜单值隐藏/显示div。但是如果jQuery没有找到关联div,那么它应该提醒一些文本 这是我的密码: $('select')。更改(函数(){ var div=$(this.val(); $(“#结果div”).hide(); $('#'+div.show(); }); #结果分区{ 显示:无; } 第一组 第2组 第3组 第一组 第2组 使用jQuery对象的长度来检查匹配项 $('select').change(functio

我有一个选择菜单和一些div与之关联。我希望选择菜单根据选择菜单值隐藏/显示div。但是如果jQuery没有找到关联div,那么它应该提醒一些文本

这是我的密码:

$('select')。更改(函数(){
var div=$(this.val();
$(“#结果div”).hide();
$('#'+div.show();
});
#结果分区{
显示:无;
}

第一组
第2组
第3组
第一组
第2组

使用jQuery对象的
长度来检查匹配项

$('select').change(function() {
      var $div = $('#' + $(this).val()).show();
      if ($div.length) {
        $('#results div').not($div).hide();            
      } else {
        alert('No Match')
      }      
});
我个人认为这是一种糟糕的用户体验,更好的方法是删除或禁用没有匹配项的
s

$('option').filter(function(){
    return !$('#' + this.value).length;
}).remove()// or prop('disabled', true);

使用jQuery对象的
length
检查匹配项

$('select').change(function() {
      var $div = $('#' + $(this).val()).show();
      if ($div.length) {
        $('#results div').not($div).hide();            
      } else {
        alert('No Match')
      }      
});
我个人认为这是一种糟糕的用户体验,更好的方法是删除或禁用没有匹配项的
s

$('option').filter(function(){
    return !$('#' + this.value).length;
}).remove()// or prop('disabled', true);
检查这个

检查这个


您可以检查jQuery对象的
.length
是否为零。这表示选择器未匹配任何元素。您可以检查jQuery对象的
.length
是否为零。这表示选择器未匹配任何元素。为什么要使用
.not()
?不想隐藏正确的目标。。正确的?我在定义target时使用了show(),而您使用了带有
$
符号的$div变量。。。你能解释一下吗?很多人习惯于知道这个变量已经是jQuery对象,这意味着如果像
var my_string
或'var$my_string'那样编写它,这并不重要?两者的工作方式相同?为什么使用
.not()
?不想隐藏正确的目标。。正确的?我在定义target时使用了show(),而您使用了带有
$
符号的$div变量。。。你能解释一下吗?很多人习惯于知道这个变量已经是jQuery对象,这意味着如果像
var my_string
或'var$my_string'那样编写它,这并不重要?两者的工作方式相同吗?