0
Следующий фрагмент кода работает в FF, но не в IE8. Prev возвращает правильный элемент, но не как объект, который поддерживает val(). Следовательно, я не могу запустить .val() на нем.JQuery IE8 prev не работает
<input type="hidden" name="data[De][1]" value="1" id="De1" />
<td class="dr_name">document1</td>
<td class="remove_dr" colspan="2" align="left">
<a href="javascript:void(0)">Remove</a></td>
<script>
$(".remove_dr").live('click', function(e) {
e.preventDefault();
var value = $(this).prev().prev().val();
alert(value);
}
</script>
Любая помощь или лучший фрагмент кода оценены.
Почему вы используете '
ответ
2 вещь:
<input>
рядом с<td>
If вы можете (и вы не можете!), использовать родственные братья и сестры:
var value = $(this).parent().siblings("input:hidden").val();
Необходимо переместить скрытый вход, чтобы находиться в допустимом месте.
источник
2010-02-15 14:23:42
Firefox, как правило, более терпим к недопустимой разметке ... что может быть как хорошим, так и плохим. – Matt
Спасибо. Скрытое поле должно было быть перемещено. – 2010-03-10 09:13:12
Вы упускаете закрытие скобку на вашем призыве жить():
источник
2010-02-15 14:23:24 wsanville
Вам нужен еще один звонок
prev
, предполагая, что все они находятся на одном уровне ... но они не являются даже братьями и сестрами. вход не находится внутри того жеtd
какa
, так что он не будет работать. кроме того, этот вход должен находиться в пределахtd
yu cant jsut, если он имеет randaomly в структуре таблицы.источник
2010-02-15 14:24:12 prodigitalson
При использовании живых событий я заметил, что есть разница для Firefox и IE. Именно поэтому я использую эту функцию, чтобы получить ту же цель события во всех браузерах:
так внутри
надежда, что это то, что ищете
источник
2010-02-15 14:31:58
Я нашел случай, когда prev() не работает как ожидалось на IE8. Я считаю, что использование prevAll («selector: eq (0)») работало как замена prev («селектор»).
источник
2010-10-04 22:14:49
Смежные вопросы