jQuery设置属性没有值

时间:2015-04-06 22:40:06

标签: jquery

我想在jQuery中执行此操作:

<option value="test" selected>...</option>

但我尝试的一切都给了我:

<option value="test" selected="selected">...</option>

我已尝试.attr("selected", "")以及.attr("selected", true),但他们会提供不受欢迎的selected="selected"结果。我怎样才能做到这一点?我在网上找到的所有内容都暗示了上述格式的前者或后者。

1 个答案:

答案 0 :(得分:6)

您根本不应该担心该属性,您应该更改属性

$('option').prop('selected', true);

您也可以通过更改选择的值来设置所选选项(假设它不是multiple

$('select').val('test');

在HTML中它看起来并不重要,它在DOM中的表示非常重要,既可以将选项设置为选中,也可以在提交表单时使用。


仅供参考,<option value="test" selected="selected">根本不是不可取的,它完全有效,而且你通常想要它。

当存在selected属性时,无论属性值如何,都会选择该选项,即使它为空,也会选择该选项。

属性应该有值,所以selected="selected"很好,甚至类似selected="hello kitty"之类的东西会选择该选项,取消选择它你要删除属性,但是你应该再改变它的 属性!!!