Jquery:如何添加属性disabled=";残疾人士;选择表格的选项?

Jquery:如何添加属性disabled=";残疾人士;选择表格的选项?,jquery,Jquery,我有一个表单元素。此选择具有我需要使用jquery浏览所有并添加属性disabled=“disabled”,如果文本(为选项显示)不是以“-”开头 看看这幅画,看看我的意思 编辑0索引实际上更好,但e.disabled更符合浏览器要求;&查找速度更快 所以 只需检查文本零索引处的字符是否为- $('#selID option').each(function(){ if($(this).text()[0] != '-') this.disabled=true; })

我有一个表单
元素。此选择具有
我需要使用jquery浏览所有
并添加属性
disabled=“disabled”
,如果文本(为选项显示)不是以“-”开头

看看这幅画,看看我的意思

编辑0索引实际上更好,但e.disabled更符合浏览器要求;&查找速度更快

所以


只需检查文本零索引处的字符是否为
-

$('#selID option').each(function(){ 
   if($(this).text()[0] != '-') 
         this.disabled=true;
});

是的,但我在你的评论之前看到了:)不,否决票是因为完全不必要地使用了
replace
。在编辑时,您至少已经处理了这个问题。(即使如此,这也不是“最优化的代码段”。
$(“选择”).find(“选项”)。
是最优化的(除非某些父项被缓存)<代码>e.disabled=true优化程度最高;你在哪里可以使它更快?注意:同意使用replaceFWIW,注意IE7和更早版本不支持字符串上的
[]
。但是,无论如何,我们真的不应该支持IE7和更早版本。:-)我只是需要一个代码开始,有几种方法可以做到这一点。否决票…为什么???
    $("select").find("option").each(function(i,e) {

          var t=$(e).text()['0'];
          if (t!=='-') e.disabled=true;
           });
$("YourSELECT options").each(function(){
  if(!$(this).html().startsWith("-"))
  {
      $(this).attr("disabled","true");
  }
});

String.prototype.startsWith = function(str) 
{return (this.match("^"+str)==str)}
$('#selID option').each(function(){ 
   if($(this).text()[0] != '-') 
         this.disabled=true;
});