select的option使用比较符时浏览器生成空选项的原因及解决方法
问题产生原因
- 核心错误是第三行小于号对应的option标签闭合错误:代码里写完内容后写的是
<option>(开标签),而非正确的闭合标签</option>。浏览器解析时会把这个误写的开标签识别为一个新的option元素,这个新元素没有设置value属性也没有文本内容,最终就渲染出了空选项。 - 除此之外这段代码还有两处可修复的错误:
- 第二行大于号对应的option的value属性里,HTML实体
>漏写了末尾的分号,正确写法应为> - 最后一行小于等于对应的option,value和显示文本都错误写成了大于等于的
>=,实际应该是<=,会导致选项逻辑和显示内容不匹配。
- 第二行大于号对应的option的value属性里,HTML实体
处理方案
修正所有标签闭合、实体写法和属性错误即可,修复后的完整代码如下:
<select name="comparator" id="comparator"> <option value="=="> Equals (==) </option> <option value=">"> Greater Than (>) </option> <option value="<"> Less Than (<) </option> <option value=">="> Greater Than/Equal (>=) </option> <option value="<="> Less Than/Equal (<=) </option> </select>
内容的提问来源于stack exchange,提问作者i have no name
相关产品推荐
相关产品推荐

