Javascript 如何检查属性是否为空?

Javascript 如何检查属性是否为空?,javascript,jquery,Javascript,Jquery,我有一些包含空白选项的选择菜单。当两者都为空时(通常在第一页加载时),我想显示一些隐藏的div 这就是我所拥有的: $('.variant_options select').each(function() { if ($(this).attr('value') === '') { // some code here to show hidden div console.log("No options chosen"); } });

我有一些包含空白选项的选择菜单。当两者都为空时(通常在第一页加载时),我想显示一些隐藏的div

这就是我所拥有的:

  $('.variant_options select').each(function() { 
      if ($(this).attr('value') === '') {
        // some code here to show hidden div
        console.log("No options chosen");
      }
  });
这似乎不起作用

编辑1

值得一提的是,我试过这样的方法:

  if (!$(this).attr('value'))

这似乎是可行的,但它破坏了其他地方的功能。

您可以使用以下方法来实现:

if($(this).val() === '') {
  // value is empty
}
我也相信:

if(!$(this).prop('value')) { 
  // It's empty 
}
元素没有
属性,因此需要在元素上使用
.val()
,以确定当前选择的选项是否为空

if ($(this).val() === '') {
    // value of select box is empty
}
this.value==''
也应该有效

要检查是否未选择任何选项,请执行以下操作:

if (this.selectedIndex == 0) {
    // no option is selected
}

jQuery可以使用
$(this.val()

如果($(this.val=''),您会这样做`

如果您想检查其他属性,如href或src,您可以这样做


if($(this).attr('href')==''

如果您有空格,请使用以下技巧:

if ($.trim($(this).val()) === '') { ...

您可以简单地执行以下操作:

$('.variant_options select').each(function () {
    if ($.trim($(this).val()) === '') {
        // some code here...
    }
});

if($(this.val()==“”){
?或仅
if(!this.value)
所有的否决票是怎么回事?他确实使用了
attr
,但它不起作用。你所说的或,什么时候使用什么是什么意思?@Bergi在我回答问题后被编辑到了问题中,我会更新。这两种方法在95%的情况下都有效,即在加载第一页时,当两个选择菜单上的默认值都为空时,它会正常工作。然而,如果我为其中一个选项选择了一个值,那么我将为两个选择菜单返回空白,这将不再起作用。一旦它返回到“空白”状态,即使在之前选择了一个值之后,我如何让它执行此操作?嗯……这包装在什么“事件”中?(例如,单击、打开等)你有JSFIDLE吗?Nvm…我找到了。不过谢谢!我更新了Jack的答案以反映正确的版本。我喜欢你使用
这个。selectedIndex==-1
但这对我不起作用。这实际上是我正在寻找的功能-如果没有选择选择框值,那么显示一些隐藏的div。或者更具体地说…在第一页加载时,当两个选择菜单上的默认值都为空时,您在此提供的顶级解决方案可以正常工作。但是,如果我为1(或两者)选择了一个值在所有选项中,然后我返回到两个“选择”菜单的“空白”,这将不再起作用。一旦它返回到“空白”状态,即使之前选择了某个值,我如何让它执行此操作?我怀疑这就是您的
selectedIndex
值的用途…这就是我希望看到更多内容的原因:)没有空格,因为值位于预定义的下拉菜单中。我只想检测是否选择了任何选择选项(即,如果值都
未定义
或为空,则答案应为“否”,并应显示一些隐藏的div)如果您在选项ValueSoOH中有空格……嗯,我只对这里的无价值的情况感兴趣……即在页面的第一个负载时,当选择选项是空的(或者当有人选择空白选项)时。是的……这很有趣。比这个代码多得多。selectedIndex==0,但这确实实现了我想要的。