给定这个
HTML代码:
<select id="menu"> <option>hi</option> <option>bye</option> </select>
这个jQuery代码:
$("#menu option").first().attr("value")
返回嗨,即使菜单中的第一个选项没有值属性.
如果< option>具有值属性,返回值属性,如预期的那样.
我可以如何确定上述代码的返回值?或者我可以检查value属性是否设置,如果不是,请运行上述代码?
解决方法
使用:not([attr])选择器:
$("#menu option:not([value])");
http://jsfiddle.net/userdude/NQm54/
我还验证,在更改后,[value]仍然报告为未设置,所以您继续接收相同的两个元素没有value属性.
$('#menu').change(function(){ console.log($(this).val()); console.log($("#menu option:not([value])")); });
http://jsfiddle.net/userdude/NQm54/2/