다른 요소 뒤에 요소를 추가하려면 어떻게해야합니까?


174

특정 텍스트 상자가 있고 그 뒤에 div를 추가하고 싶습니다. .append()함수를 시도했지만 요소에 div 만 추가합니다.

예를 들어, 나는 :

<input type="text" id="bla" />

그리고 나는 그것을 다음과 같이 바꾸고 싶습니다 :

<input type="text" id="bla" /><div id="space"></div>

답변:


287

after()방법을 사용해보십시오 :

$('#bla').after('<div id="space"></div>');

선적 서류 비치


8
.after () 및 .insertAfter () 메소드는 동일한 태스크를 수행합니다.
Rifat

7
맞습니다 만, 코딩 방법에 따라 다릅니다. 일반적으로 '#bla'입력을 이미 선택한 다음 나중에 추가 내용을 추가합니다. 그래도 순전히 선호하지만 두 방법 중 하나에 속도 이점이 있는지 확실하지 않습니다.
Rowan

37

시험

.insertAfter()

여기

$(content).insertAfter('#bla');

17
당신의 코드는 $('<div id="space"></div>').insertAfter('#bla')오히려 더 비슷 하지 않아야 $('#bla').insertAfter(content);합니까?
Rowan

6

우선 input요소에는 닫는 태그가 없어야합니다 ( http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT). : End tag : forbidden).

두 번째로, 기능이 after()아닌 이 필요합니다 append().


맞습니다.하지만 .append () 함수를 시도하면 발생합니다.
skerit

2
XHTML 인 경우 입력 요소를 닫아야합니다 (종료 태그 제외).
CiscoIPPhone

2
HTML4에서 닫혀서 <input>는 안됩니다.
Derek 朕 會 功夫

1

해결 된 jQuery : 다른 요소 뒤에 요소 추가

<script>
$( "p" ).append( "<strong>Hello</strong>" );
</script>

또는

<script type="text/javascript"> 
jQuery(document).ready(function(){
jQuery ( ".sidebar_cart" ) .append( "<a href='http://#'>Continue Shopping</a>" );
});
</script>

2
이것은 올바르지 않습니다. 이것은 명시된 OP와 마찬가지로 부모 요소 내에 요소를 추가합니다. 질문을 다시 읽고 답을 수정하십시오.
Evan Wieland 16:27에
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.