有时,在使用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在运行时设置没有值的属性?
答案 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”。