如何在jQuery中设置没有值的HTML属性(例如,选中,选中,禁用)

时间:2013-01-24 11:01:35

标签: javascript jquery html html5

  

可能重复:
  Set attribute without value

有时,在使用HTML处理时,需要设置DOM元素的属性而不使用任何值,例如:请参阅此处的selected参数:

<select id="auto-makers">
  ...
  <option value="fiat" selected>FIAT</option>
  <option value="ford">FORD Motor Company</option>
  <option value="gm">General Motors</option>
  ...
</select>

HTML文档中的这种属性并不罕见。例如,下面是可能的属性列表:

  • checked;
  • selected;
  • required;
  • multiple;
  • disabled;

如何使用Javascript和/或jQuery在运行时设置没有值的属性?

1 个答案:

答案 0 :(得分:2)

按照你的例子,假设你有

<select id="auto-makers">
  ...
  <option value="fiat">FIAT</option>
  <option value="ford">FORD Motor Company</option>
  <option value="gm">General Motors</option>
  ...
</select>

并且您要将selected属性添加到<option>,以便value="fiat"。因此,使用纯Javascript ,您可以使用setAttribute方法:

var select = document.getElementsById('auto-makers');
for (var i=0; i<select.options.length; i++){
   if (select.options[i].value=="fiat"){
     select.options[i].setAttribute('selected','');
     break;
   }
}

使用 jQuery 时,您只需使用attr方法:

$('#auto-makers').find('option[value="fiat"]').attr('selected','');

在这两种情况下,都会将空字符串作为属性的值传递。

您可以通过在您提供的更改后查看相关的HTML代码来验证输出是否是所需的输出。

最后,请注意类似的问题是:“Set attribute without value”。