많은 양의 HTML을 삽입하는 큰 AJAX 응답이 있습니다. 이 후에는 양식을로드 할 때 새로 작성한 ID 나 클래스가있는 것처럼 작업 할 수 없습니다.AJAX 호출 후 DOM 요소로 작업 할 수 없습니다.
내 문제 중 하나를 해결하지만 다른 것은 해결하지 못하는 .live()를 조사했습니다.
기본적으로 링크를 클릭하면 AJAX .html()을 통해 삽입 된 ID 또는 클래스로 DIV를 표시하려고합니다.
예 :
코드 : HTML이 생성 된 후
html_out = "<div class='span-1'><a href='#' onClick='show_sub_row(\"#sub_row" + id + "\"); return false;'>[ + ]</a></div>";
html_out += '<div class="hidden_sub_row prepend-2" style="display: none;" id="#sub_row' + id + '">';
html_out += 'Content';
html_out += '</div>';
$('#search_results').html(html_out);
가 그럼 난 시도 :
function show_sub_row(sub_row) {
$(sub_row).show('fast');
}
은 내가 (A 경고를 할 수 있기 때문에 올바른 ID를 참조 알고 sub_row) 숨겨진 DIV를 검사하기 위해 FireBug를 사용하여 표시된 ID와 일치하는 올바른 ID를 표시합니다. sub_row가 초기화 var에 당신이 여기에 표시 한 코드의 외부 어딘가에 않는
예 위 라인의 #이 문제였습니다. 지금까지는 그 사실을 눈치 채지 못했습니다. 모든 것을 제거한 후 # 일하고 있습니다. 그 중 한 시간과 나는 몇 시간 동안 그것을 보지 못했습니다. 고맙습니다! – bobcat
전혀 문제 없습니다 ... 동의 하시겠습니까? :) – philwinkle