jQuery 设置没有值的属性

标签 jquery

我想在 jQuery 中执行此操作:

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

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

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

我尝试过 .attr("selected", "") 以及 .attr("selected", true),但它们给出了不需要的 selected="selected" 结果。我怎样才能做到这一点?我在网上找到的所有内容都表明上述格式要么是前者,要么是后者。

最佳答案

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

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

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

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

它在 HTML 中的外观并不重要,重要的是 DOM 中的表示形式,无论是将选项设置为选定状态还是提交其所在表单时。

<小时/>

仅供引用,<option value="test" selected="selected">根本不是不可取的,它是完全有效的并且是您通常想要的。

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

属性应该有值,所以 selected="selected"很好,甚至像 selected="hello kitty" 这样的东西会选择该选项,要取消选择它,您将删除该属性,但同样,您应该更改属性!!!

关于jQuery 设置没有值的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480855/

相关文章:

jquery - ".scrollBottom()"不起作用

javascript - jQuery:将 tr 添加到表 tbody 会阻止 tr 单击功能

php - 为什么点击标签<a>后,页面刷新并且appendTo不起作用?

javascript - 粘性导航栏需要占用空间

javascript - 无法使用 AJAX 和 PHP 显示单选按钮值

javascript - 为什么我不能调用这个 jQuery 函数?

JQuery 用编号类包裹 div

jquery - Flask URL 路由 : url_for only passes first argument

javascript - 更改按钮的文本和功能

JavaScript JQuery 数组循环