jQuery-UI无法识别HTML5的隐藏属性

时间:2016-11-15 09:38:05

标签: javascript jquery jquery-ui hidden jquery-ui-selectmenu

使用普通的Javascript,很容易使用HTML5的隐藏属性隐藏选择菜单选项。但是当我想使用jQuery-UI对select-menu进行样式化时,隐藏的属性将被忽略。例如,定义两个选择菜单:

<select id="one">
  <option>option 1</option>
  <option>option 2</option>
  <option hidden>hidden option</option>
  <option>option 4</option>
</select>

<select id="two">
  <option>option 1</option>
  <option>option 2</option>
  <option hidden>hidden option</option>
  <option>option 4</option>
</select> 

这是Javascript / jQuery:

$(function(){            
  $('#one').selectmenu();
}); 

运行此示例时,第三个项目隐藏在第二个选择菜单中,但不在第一个项目中。似乎jQuery-UI已禁用隐藏属性。参见

jsFiddle

是一个实例。我做错了什么或jQuery-UI中有错误吗?

2 个答案:

答案 0 :(得分:0)

我解决问题的方法是删除它们,

$(function(){            
    $('#one option[hidden]').remove();
    $('#one').selectmenu();
});  

jsfiddle

答案 1 :(得分:0)

事实证明这是jQuery-UI中的一个错误。我发布了a ticket on GitHub,问题在24小时内得到解决。