以下 jsfillde 正在使用 jQuery 1.8.3,但不适用于任何较新的版本。我找不到解决它的方法。
$("[name=ids] option").each(function() {
if( $(this).attr('value') == 2 ) { $(this).attr('selected','selected'); }
});
谁能帮我解决这个问题?!谢谢
以下 jsfillde 正在使用 jQuery 1.8.3,但不适用于任何较新的版本。我找不到解决它的方法。
$("[name=ids] option").each(function() {
if( $(this).attr('value') == 2 ) { $(this).attr('selected','selected'); }
});
谁能帮我解决这个问题?!谢谢
尝试使用prop()而不是attr()
:
从 jQuery 1.6 开始,.attr() 方法为尚未设置的属性返回 undefined。要检索和更改 DOM 属性,例如表单元素的选中、选择或禁用状态,请使用 .prop() 方法
$(function() {
$("[name=ids] option").each(function() {
if( $(this).prop('value') == 2 ) { $(this).prop('selected','selected'); }
});
});
不管为什么这不起作用,您都可以大大简化您的脚本以使用最新的 1.x jQuery:
$(function() {
$("[name=ids]").val(2);
});