[编辑 - 扩展为包括非 jquery 方法]
我强烈建议为此使用 jQuery,因为解决方案是单行的:
jQuery('#names option:contains("Max")').val()
但是,无论如何,这是一个纯 JavaScript 实现:
function findOption( select, matchMe ) {
var
// list of child options
options = select.getElementsByTagName('option'),
// iteration vars
i = options.length,
text,
option;
while (i--) {
option = options[i];
text = option.textContent || option.innerText || '';
// (optional) add additional processing to text, such as trimming whitespace
text = text.replace(/^\s+|\s+$/g);
if (text === matchMe) {
return option.getAttribute('value');
}
}
return null;
}
示例用法:
alert(
findOption(
document.getElementsByTagName('select')[0],
"Max"
)
);
警报3