如何检查属性是否为空?

时间:2013-03-26 10:34:56

标签: javascript jquery

我有一些包含空白选项的选择菜单。当两者都是空白时(通常在第一页加载时),我想显示一些隐藏的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'))

这似乎在KINDA工作,但它打破了其他地方的功能。

5 个答案:

答案 0 :(得分:3)

<select>个元素没有value属性,因此您需要在元素上使用.val()来确定当前所选的选项是否为空。

if ($(this).val() === '') {
    // value of select box is empty
}

this.value === ''也应该

检查是否未选择任何选项:

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

答案 1 :(得分:1)

您可以使用以下方法执行此操作:

if($(this).val() === '') {
  // value is empty
}

我也相信以下内容:

if(!$(this).prop('value')) { 
  // It's empty 
}

答案 2 :(得分:1)

你可以这样做:

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

答案 3 :(得分:0)

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

检查值

所以你会这样做($(this).val ==='')`

如果你想检查一些其他属性,比如href或src,你可以做

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

答案 4 :(得分:0)

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

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