jQuery设置属性没有值

Chr*_*ris 1 jquery

我想在jQuery中做到这一点:

<option value="test" selected>...</option>
Run Code Online (Sandbox Code Playgroud)

但我尝试过的一切都让我:

<option value="test" selected="selected">...</option>
Run Code Online (Sandbox Code Playgroud)

我曾尝试.attr("selected", "").attr("selected", true),但他们给了不想要的selected="selected"结果.我怎样才能做到这一点?我在网上找到的所有内容都暗示了上述格式的前者或后者.

ade*_*neo 6

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

$('option').prop('selected', true);
Run Code Online (Sandbox Code Playgroud)

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

$('select').val('test');
Run Code Online (Sandbox Code Playgroud)

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


仅供参考,<option value="test" selected="selected">根本不是不可取的,它完全有效并且您通常需要什么.

selected属性存在时,无论属性值如何,都会选择该选项,即使它是空的,也会选择该选项.

属性应该有值,所以selected="selected"很好,甚至类似selected="hello kitty"会选择选项,取消选择你删除属性,但同样,你应该改变属性!