Я пытаюсь выбрать метку опции (опция со значением "") из поля выбора через jQuery. Я использую следующий селектор:
$("[value='']");
Это работает в большинстве браузеров, однако в IE7 это исключение. Если я изменю его на следующий (imho эквивалентный) селектор, то он будет работать нормально:
$(":not(:not([value='']))");
Я бы предпочел не использовать последнее, но не могу придумать лучшего эквивалента предыдущего.
Edit:
jQuery версия: 1.3.1.
Исключение:
Ошибка выполнения Microsoft JScript: исключение сгенерировано и не перехвачено
на
if(S==null){throw"Syntax error, unrecognized expression: "+ab}
, где
ab = "value='']"
Тестовая настройка:
Чтобы убедиться, что мой другой код не вызвал проблемы, я воспроизвел ошибку в следующей ситуации:
<html>
<head>
<script type="text/javascript" src="jquery-1.3.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
alert($("option[value='']").html());
});
</script>
</head>
<body>
<select>
<option value="">test</option>
<option value="1">test1</option>
<option value="2">test2</option>
</select>
</body>
</html>
Edit:
Ссылка на отчет об ошибке