Даже если у вас есть только текст HTML, вы все равно можете использовать DOM для его анализа. Например, используя временный элемент для вставки HTML-кода и обхода параметров:
function extractOptions(html) {
var el = document.createElement('div'), // temporary element
result = [], select, option;
el.innerHTML = html; // inject html
select = el.getElementsByTagName('select')[0]; // get the first select element
for (var i = 0, n = select.options.length; i < n; i++) { // loop options
option = select.options[i];
result.push({value: option.value, text: option.innerHTML});
}
return result;
}
// assuming that text contains the HTML string as in your example
var options = extractOptions(text);
// [{"value":"blah","text":"one"},
// {"value":"mehh","text":"two"},
// {"value":"rawr","text":"three"}]
Проверьте приведенный выше пример здесь .