2009-11-04 6 views
0

누구든지 Jquery를 사용하여 새 tagName을 태그로 설정하는 방법을 알고 있습니까? HTML 문서가 있고 'fieldset'width 'div'를 모두 바꾸려고한다고 가정 해 봅시다. 미리 감사드립니다.태그 교체

+0

왜 FIELDSET을 HTML의 DIV로 변경하지 않으시겠습니까? –

+0

내 코드가 생성되어 불행히도 myselft 태그를 변경할 수 없습니다 ... – pinkbubble

+0

owerflow에 문제가 있습니까 – jmav

답변

0

replaceWith 또는 replaceAll 함수를 사용하여 요소를 바꿀 수 있습니다.

이전 요소의 콘텐츠를 수동으로 새 요소에 배치해야합니다.

$('fieldset').each(function(object){ 
    var html = this.html(); 
    this.replaceWith('div').html(html) 
}); 

이와 비슷한 것. 코드는 테스트되지 않았습니다.

+0

replaceWith()를 먼저 호출하기 전에 HTML 내용을 저장해야한다고 생각한다. (obove 함수 본문 내부) : var h = $ (this) .html(); $ (this) .replaceWith ('div') .html (h); –

+0

그래, 나는 그걸 의심하고 있었다. – Ikke

+0

나는이 시도했다 :. \t \t $ ("필드 셋") 각 (기능 (I) { \t \t \t VAR fieldsetContent = $ (이) .html 중에서(); \t \t \t $ (이) .replaceWith을 ("

" + fieldsetContent + "
"); \t \t \t \t}) 하지만 내가 예상 ... 어떤 아이디어 방법을 작동하지 않았다? – pinkbubble

3
fs = $("fieldset"); 
for (i = 0; i < fs.length; i++) { 
    var that = $(fs[i]); 
    var fieldsetContent = that.html(); 
    that.replaceWith('<div>'+fieldsetContent+'</div>'); 
}; 

또는 오버 플로우이 CSS를 수정 CSS를 시도 : 다른 스타일을 설정할 수 있습니다보다

fieldset { 
    display: table-column; 
} 
<!–[if IE]> 
fieldset { 
    display: block; 
} 

합니다.

+0

내 Jquery 버전을 업그레이드했지만 여전히 작동하지 않습니다 ... 여기 내 코드는 입니다. \t \t /*$("fieldset").each(function(i) { \t \t fieldsetContent = $(this).innerHTML(); \t \t $("

" + fieldsetContent +"
").replaceAll("fieldset"); \t \t });*/ pinkbubble

+0

감사합니다 jmav, 나는 당신의 해결책을 시도했지만 그것이 원하는대로 작동하지 않았습니다.나는 'fieldsetContent'에 대한 경고를 할 때 내 fieldset의 내용을 반환하지만, 'replaceWith'함수 매개 변수 안에 넣으면 아무 것도하지 않습니다 ... 문제의 한쪽을 해결할 수도 있습니다 (내 fieldset을 div로 변경하는 것이 좋습니다.)하지만 필드 집합 내용을 추가하여 결합하면 아무 일도 일어나지 않습니다. – pinkbubble

+0

codemyself를 시도했는데 작동합니다. Plase는 수정되지 않은 페이지와 페이지를 보내고 싶습니다. 나는 당신을 도우려고 노력할 것입니다. 방화범을 사용합니까 ?? – jmav

0

어쩌면 문제의 근원을 해결하고 시도하는 것이 덜 복잡하고 효과적 일 수 있습니다. 필자는 파이어 폭스에 하드 코딩 된 것으로 필드 세트가 끊어지는 것을 상상할 수 없다. 나는 이것이 99 %의 CSS로 도울 수 있다고 확신한다. 모질라의 포럼에서 더 많은 정보 또는 더 많은 현장 도움말을 찾을 수 있습니까? 어쩌면 필드 세트와 div를 방화범 끈으로 검사하고 설정을 하나씩 비교해 보는 것이 도움이 될까요?

+0

안녕하세요, 이미이 모든 시도 ... 문제가보고 된 있지만 주어진 솔루션을 내 문제를 해결하지 못했습니다. 하지만 내 게시물의 요점은 tagname을 대체하고 그 내용을 유지할 수있는 방법이 있는지 알아 보는 것입니다. – pinkbubble

0

어떤 환경에 있는지 잘 모르겠지만 가장 쉬운 방법은 원래의 HTML 페이지를 동적으로 읽는 "인쇄보기"페이지를 설정하는 것입니다. 소스 코드?

$body = str_replace("<fieldset>", "<div>", $body); 
$body = str_replace("</fieldset>", "</div>", $body); 

매우 낮은 수준을하지만, HTML이 깨끗한 경우 일할 수 :

PHP에서,이 같을 것이다.

+0

IE 브라우저에서 문제가 발생할 수 있습니다. 태그를 추가해야 컨텐츠를 추가 할 수 있습니다. – jmav

+0

아니요, HTML을 브라우저로 출력하기 전에 전처리하는 것입니다. 아니면 뭔가 다른 것을 의미합니까? –