2012-01-06 2 views
1

<tbody>의 원본 전체 내용으로 돌아갈 수 있도록 테이블을 필터링 한 후 변수를 <tbody>의 전체 내용으로 설정합니다. 현재 원본 컨텐츠로 다시 변경하려고하면 jQuery는 <script><tr><td> 요소를 제거합니다.jQuery .html() html 요소 제거

에 javscript

var contents= $("tbody").html(); 
//load of other functions 
$("tbody").html(contents); 

내용은 보이는이 같은 비트 :

<script>alert("Hello");</script> 
<tr> 
    <td>A value</td> 
    <td>Another value</td> 
</tr> 

나는이 내용을 다시 다시 사용하려고 내가 얻을 :

A value 
Another value 
+0

그래서 정확히 $ ("TBODY")의 문자열의 결과는 무엇인가 코드의 끝에 배치 HTML().? 마지막 출력 결과가 HTML 태그가없는 결과일까요? – nsanders

답변

1

기술 당신에게 ' 다음 jsFiddle에서 볼 수 있듯이 다시 사용해야합니다.

http://jsfiddle.net/GbSrV/

바이올린을 실행할 때 JavaScript 콘솔을 살펴보십시오. html()에 의해 반환 된 값은 예상대로입니다.

코드를 디버깅하려면 브라우저의 개발 도구를 사용하여 실제 DOM을 확인하십시오. 루틴은 루틴 이전, 도중, 후에 어떤 모습을 보입니까?

또한 정확한 코드를 사용하여 복원 된 tbody 콘텐츠를 확인하고 있습니까? 귀하의 디버거 (또는 동등한)에서 복원 된 값을 파기하는 것으로 가정합니다 :

$("tbody").html() 

그렇지 않은 경우 알려주십시오.

원래 코드를 올바르게 사용할 수 있어야합니다. 그러나 다음과 같은 구현 대안을 시도 할 수 원하는 경우 :

var contents$ = $("tbody").children().clone(); 
// load of other functions 
$("tbody").empty().append(contents$); 
+0

당신이 제공 한 대안 구현이 완벽하게 작동했습니다. 감사합니다! 나는 DOM을 검사하고 있었고 특정 태그가 제거 될 때마다 다른 태그가 제거 될 것입니다. . 시간 내 주셔서 다시 한 번 감사드립니다! – Alex