包含空字符串的 Html 属性不显示 = 运算符

2024-06-25

jQuery 中的一个用例是:

 $select.append('<option value="">All</option>');

看起来它实际上在 HTML 中添加了该元素:

<option value>All</option>

相反,我想要的是附加到元素,以便它给出一个空字符串值:

<option value="">All</option>

为什么没有发生这种情况?


它实际上是在 HTML 中添加元素

不,事实并非如此。

它将元素添加到 DOM,而不是 HTML。

当您使用浏览器的开发工具查看 DOM 时,它将使用类似 HTML 的语法显示。在此语法中,value值为空字符串的属性将在没有=""部分。 (看起来这部分语法实际上是有效的 HTML,但我还没有在规范中找到允许它的部分。)

如果您是(以 Chrome 为例),您可以右键单击其父元素并选择“编辑为 HTML”,此时您将看到="" again.


如果您要提交包含 select 元素的表单,您将看到发送的数据为:select_name=。这表明该值已正确设置为空字符串。如果它不起作用你就会得到select_name=All因为如果未设置值,则元素的文本将用作值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

包含空字符串的 Html 属性不显示 = 运算符 的相关文章

随机推荐