Html 为什么的value属性不设置的value属性?

Html 为什么的value属性不设置的value属性?,html,html-select,selected,Html,Html Select,Selected,假设选择一个类似的 <select name="myselect" id="myselect"> <option value="a">A</option> <option value="b">B</option> </select> 但我不能使用value属性,因此以下操作不起作用: <?php $myselectValue = $_GET['myselect'] ?: 'a'; // Do some

假设选择一个类似的

<select name="myselect" id="myselect">
  <option value="a">A</option>
  <option value="b">B</option>
</select>
但我不能使用value属性,因此以下操作不起作用:

<?php
  $myselectValue = $_GET['myselect'] ?: 'a';
  // Do something with $myselectValue
?>
<select name="myselect" id="myselect" value="<?php echo $myselectValue; ?>">
  <option value="a">A</option>
  <option value="b">B</option>
</select>
相反,我必须编写更丑陋、更不干净的服务器端代码

我认为选择具有'value'属性的选定选项比选择's selected属性的选项更有意义


为什么w3c认为这比这更好?也许有什么我看不到的优势吗?

不知道他们在想什么,但有几个情况下,价值可能没有意义:

该值无效 具有 还要记住,属性与属性不同


从语义上讲,让可用选项列表通过和select属性指示实际选中的一个或多个选项更有意义,而不必将其与属性值协调。

HTML标准中是否有属性?我在维基上找不到,谷歌也没有在w3.org上提供任何信息。是这样的吗:属性是可以获取或设置的节点HTML元素的值?如果该值无效,则可以与选择“否”相同,默认情况下选择第一个选项。我没有考虑过,但它可以像类一样:可以有多个类和一个属性。但也许在语义上你是对的。@user4035:是的。术语属性在文档对象模型DOM中使用。HTML属性作为元素对象上的属性公开。
<?php
  $myselectValue = $_GET['myselect'] ?: 'a';
  // Do something with $myselectValue
?>
<select name="myselect" id="myselect" value="<?php echo $myselectValue; ?>">
  <option value="a">A</option>
  <option value="b">B</option>
</select>