이번에는 요소를 추가하는 jquery 방법과 jquery에서 요소를 추가할 때 주의 사항이 무엇인지 알아보겠습니다.
1. after()와 before() 메서드의 차이점
after() - 해당 메서드는 메서드의 매개변수를 jquery 객체 뒤에 추가하는 것입니다.
예: A.after(B )는 A 뒤에 B를 넣는 것을 의미합니다.
before() - 해당 메서드는 메서드의 매개변수를 jquery 개체 앞에 추가하는 것입니다.
예: A.before(B)는 A를 B 앞에 놓는 것을 의미합니다.
2. insertAfter()와 insertBefore() 메서드의 차이점
실제로는 요소의 위치를 바꾸는 것을 의미합니다.
페이지일 수 있습니다. 요소에 기존 요소가 있고 동적으로 추가된 요소일 수도 있습니다.
예: A.insertAfter(B); 이는 B 요소 다음에 A 요소를 교체하는 것입니다.
예를 들어, CC
HELLO
").insertAfter($ ("p")),HELLO
CC가 됩니다. 둘의 위치가 바뀌었습니다append() - 해당 메소드는 메소드의 매개변수를 jquery 객체에 추가하는 것입니다. : A.append( B)는 B를 A에 넣은 다음 A의 하위 요소의 마지막 위치를 추가하는 것을 의미합니다.
appendTo() - 해당 방법은 jquery 개체를 AppendTo에서 지정한 매개 변수에 추가하는 것입니다.
예: A.appendTo(B)는 A를 B에 넣은 다음 B의 하위 요소의 마지막 위치를 추가하는 것을 의미합니다.
4. prepend()와 prependTo() 메서드의 차이점
예: A.append(B)는 B를 A에 넣고 A Position의 첫 번째 하위 요소에 삽입하는 것을 의미합니다. () - 그 방법은 appendTo에 의해 지정된 매개변수에 jquery 객체를 추가하는 것입니다.
예: A.appendTo(B)는 A를 B에 넣고 B의 하위 요소의 첫 번째 위치에 삽입하는 것을 의미합니다.
Example
1, 로컬 메서드 삽입
/** * 在父级元素上操作DOM * @param {Object} parent 父级元素,可以是element,也可以是Yquery对象 * @param {String} position 位置: beforebegin/afterbegin/beforeend/afterend * @param {*} any 任何:string/text/object * @param {Number} index 序号,如果大于0则复制节点 * @return {Undefined} * @version 1.0 * 2013年12月2日17:08:26 */ function _insert(parent, position, any, index) { if ($.isFunction(any)) { any = any.call(parent); } // 字符串 if ($.isString(any)) { if (regTag.test(any)) { parent.insertAdjacentHTML(position, any); } else { parent.insertAdjacentText(position, any); } } // 数字 else if ($.isNumber(any)) { parent.insertAdjacentText(position, any); } // 元素 else if ($.isElement(any)) { parent.insertAdjacentElement(position, index > 0 ? any.cloneNode(!0) : any); } // Yquery else if (_isYquery(any)) { any.each(function() { _insert(parent, position, this); }); } }
2, 앞에 추가, 앞에 추가 , after
$.fn = { /** * 追插 * 将元素后插到当前元素(集合)内 * @param {String/Element/Function} any * @return this * @version 1.0 * 2013年12月29日1:44:15 */ append: function(any) { return this.each(function(index) { _insert(this, 'beforeend', any, index); }); }, /** * 补插 * 将元素前插到当前元素(集合)内 * @param {String/Element/Function} any * @return this * @version 1.0 * 2013年12月29日1:44:15 */ prepend: function(any) { return this.each(function(index) { _insert(this, 'afterbegin', any, index); }); }, /** * 前插 * 将元素前插到当前元素(集合)前 * @param {String/Element/Function} any * @return this * @version 1.0 * 2013年12月29日1:44:15 */ before: function(any) { return this.each(function(index) { _insert(this, 'beforebegin', any, index); }); }, /** * 后插 * 将元素后插到当前元素(集合)后 * @param {String/Element/Function} any * @return this * @version 1.0 * 2013年12月29日1:44:15 */ after: function(any) { return this.each(function(index) { _insert(this, 'afterend', any, index); }); } };3, prependTo, prependTo, insertBefore, insertAfter
이러한 접미사와 위의 차이점은 반환되는 결과가 다르다는 것입니다. 예:
$('#demo').append('<a/>'); // => 返回的是 $('#demo') $('<a/>').appendTo($('#demo')); // => 返回的是$('a');
_each({ appendTo: 'append', prependTo: 'prepend', insertBefore: 'before', insertAfter: 'after' }, function(key, val) { $.fn[key] = function(selector) { this.each(function() { $(selector)[val](this); }); return this; }; });jquery 요소 추가 방법(뒤에 앞에 추가하는 차이점) 전)
append() 메소드는 선택한 요소 끝에 내용 삽입에 있습니다.
prepend() 메서드는 선택한 요소의 시작 부분에 콘텐츠를 삽입합니다.
after() 메서드는 선택한 요소 뒤에 콘텐츠를 삽입합니다.
before() 메서드는 선택한 요소 앞에 콘텐츠를 삽입합니다.
<script type="text/javascript" src="http://common.jb51.net/jslib/jquery/jquery.min.js"></script> <p class="testp"> <ul> <li>第一个li标签</li> </ul> </p> <script> //append $('.testp ul').append('<li>append 插入的li</li>'); //prepend $('.testp ul').prepend('<li>prepend 插入的li</li>'); //after $('.testp ul').after('<li>after 插入的li</li>'); //before $('.testp ul').before('<li>before 插入的li</li>'); </script>
Rendering
html 구조 다이어그램
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 믿습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
jquery가 선택한 CSS 스타일을 삭제하는 방법jQuery가 형제 요소를 가져오는 방법위 내용은 jquery에서 요소를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!