나는 코딩에 능숙하지만 지금은 기본적으로 같은 일을하는 것처럼 보입니다. 사용하는 이유 여기 내 주요 질문은, .append()
보다는 .after()
또는 그 구절?
나는 찾고 있었으며 둘 사이의 차이점과 사용시기 및 사용하지 않을 때의 차이점에 대한 명확한 정의를 찾지 못하는 것 같습니다.
다른 하나 이상의 장점은 무엇이며 왜 다른 하나를 사용합니까? 누군가 나에게 이것을 설명해 주시겠습니까?
var txt = $('#' + id + ' span:first').html();
$('#' + id + ' a.append').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').append(txt);
});
$('#' + id + ' a.prepend').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').prepend(txt);
});
$('#' + id + ' a.after').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').after(txt);
});
$('#' + id + ' a.before').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').before(txt);
});
답변
보다:
.append()
소자 내부에 둔다 데이터 last index
와
.prepend()
두고 ELEM를 붙이는에서first index
가정 :
<div class='a'> //<---you want div c to append in this
<div class='b'>b</div>
</div>
때 .append()
이 실행이 다음과 같이 표시됩니다
$('.a').append($('.c'));
실행 후 :
<div class='a'> //<---you want div c to append in this
<div class='b'>b</div>
<div class='c'>c</div>
</div>
실행시 .append ()로 바이올린을 피우십시오.
때 .prepend()
이 실행이 다음과 같이 표시됩니다
$('.a').prepend($('.c'));
실행 후 :
<div class='a'> //<---you want div c to append in this
<div class='c'>c</div>
<div class='b'>b</div>
</div>
실행시 .prepend ()로 바이올린을 피우십시오.
.after()
.before()
요소 앞에 요소를 놓는다 요소 앞에 요소를 놓는다
사용 후 :
$('.a').after($('.c'));
실행 후 :
<div class='a'>
<div class='b'>b</div>
</div>
<div class='c'>c</div> //<----this will be placed here
실행시 .after ()로 피들 링하십시오.
전에 사용 :
$('.a').before($('.c'));
실행 후 :
<div class='c'>c</div> //<----this will be placed here
<div class='a'>
<div class='b'>b</div>
</div>
실행 중 .before ()로 바이올린
답변
이 이미지는 아래에 표시 명확한 이해를 제공하고 사이의 정확한 차이를 보여 .append()
, .prepend()
, .after()
및.before()
당신은 그 이미지에서 볼 수 .append()
와 .prepend()
같은 새로운 요소를 추가 자식 요소 (브라운 색상) 대상에.
그리고 .after()
와 .before()
같은 새로운 요소를 추가 형제 요소 (컬러 블랙) 대상으로합니다.
여기입니다 DEMO 더 나은 이해는.
편집 : 해당 기능의 뒤집힌 버전 :
이 코드를 사용하여 :
var $target = $('.target');
$target.append('<div class="child">1. append</div>');
$target.prepend('<div class="child">2. prepend</div>');
$target.before('<div class="sibling">3. before</div>');
$target.after('<div class="sibling">4. after</div>');
$('<div class="child flipped">or appendTo</div>').appendTo($target);
$('<div class="child flipped">or prependTo</div>').prependTo($target);
$('<div class="sibling flipped">or insertBefore</div>').insertBefore($target);
$('<div class="sibling flipped">or insertAfter</div>').insertAfter($target);
이 목표에 :
<div class="target">
This is the target div to which new elements are associated using jQuery
</div>
따라서 이러한 함수는 매개 변수 순서를 바꾸지 만 각각 동일한 요소 중첩을 만듭니다.
var $div = $('<div>').append($('<img>'));
var $img = $('<img>').appendTo($('<div>'))
…하지만 다른 요소를 반환합니다. 이것은 메소드 체인에 중요합니다 .
답변
append()
& prepend()
는 요소 내부에 내용을 삽입하고 (콘텐츠를 자식으로 만들기) after()
& before()
요소 외부에 내용을 삽입하고 (내용을 형제로 만들기) 것입니다.
답변
가장 좋은 방법은 문서화입니다.
.append()
vs .after()
- .
append()
: 매개 변수로 지정된 컨텐츠 를 끝에 삽입 를 일치하는 요소 세트의 각 요소 . - .
after()
: 일치하는 요소 세트의 각 요소 뒤에 매개 변수로 지정된 컨텐츠를 삽입하십시오 .
.prepend()
vs .before()
prepend()
: 매개 변수로 지정된 컨텐츠 를 처음에 삽입 를 일치하는 요소 세트에서 각 요소 에 .- .
before()
: 일치하는 요소 세트의 각 요소 앞에 매개 변수로 지정된 컨텐츠를 삽입하십시오 .
따라서 append와 prepend는 객체의 자식을 나타내며 after와 before는 객체의 형제를 나타냅니다.
답변
사이에 기본적인 차이가 .append()
와 .after()
와 .prepend()
와 .before()
.
.append()
선택기 요소의 태그 안에 매개 변수 요소를 맨 끝에.after()
추가하는 반면 , 요소의 태그 뒤에 매개 변수 요소를 추가합니다 .
부회장 반대를위한 것입니다 .prepend()
및 .before()
.
답변
각각에 대해 추가적인 이점은 없습니다. 전적으로 시나리오에 따라 다릅니다. 아래 코드는 차이점을 보여줍니다.
Before inserts your html here
<div id="mainTabsDiv">
Prepend inserts your html here
<div id="homeTabDiv">
<span>
Home
</span>
</div>
<div id="aboutUsTabDiv">
<span>
About Us
</span>
</div>
<div id="contactUsTabDiv">
<span>
Contact Us
</span>
</div>
Append inserts your html here
</div>
After inserts your html here
답변
<div></div>
// <-- $(".root").before("<div></div>");
<div class="root">
// <-- $(".root").prepend("<div></div>");
<div></div>
// <-- $(".root").append("<div></div>");
</div>
// <-- $(".root").after("<div></div>");
<div></div>