0
다음 코드 단편은 FF에서는 작동하지만 IE8에서는 작동하지 않습니다. Prev는 올바른 요소를 반환하지만 val()을 지원하는 객체는 반환하지 않습니다. 따라서 나는 그것에 .val()을 실행할 수 없다.Jquery IE8 prev not working
<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 것들 :
<td>
하는 경우가 옆
<input>
을 가질 수 없습니다 너는 할 수 있었다 (할 수 있지 않는다!), 형제 자매를 사용하십시오 :var value = $(this).parent().siblings("input:hidden").val();
올바른 위치에 숨겨진 입력을 재배치해야합니다.
출처
2010-02-15 14:23:42
Firefox는 잘못된 마크 업에보다 관대합니다 ... 좋은 점과 나쁜 점이 다를 수 있습니다. – Matt
감사합니다. 숨겨진 필드를 이동해야했습니다. –
당신은 당신의 전화에 닫는 괄호를 놓치고있는 것은) (살 :
이출처
2010-02-15 14:23:24 wsanville
모두 동일한 레벨이라고 가정하면
prev
콜이 더 필요합니다 ...하지만 형제는 아닐 수도 있습니다. 입력이a
과 동일한td
안에 있지 않으므로 작동하지 않습니다. 게다가 그 입력은td
안에 있어야하며, 그것은 테이블 구조로 randaomly하게 가지고 있습니다.출처
2010-02-15 14:24:12 prodigitalson
라이브 이벤트를 사용하는 동안 Firefox와 IE에서 차이가 있음을 확인했습니다. 이것이 내가 어디에 사례를 발견 한 것은 당신이
출처
2010-02-15 14:31:58
을 찾는 것을
희망
내부 그래서: 나는 모든 브라우저에 걸쳐 동일한 이벤트 목표를 얻기 위해이 기능을 사용하는 이유입니다 IE8에서 prev()가 예상대로 작동하지 않았습니다. prevAll ("selector : eq (0)")을 사용하면 prev ("selector") 대신 사용할 수 있습니다.
출처
2010-10-04 22:14:49
관련 문제