복붙노트

[JQUERY] jQuery - 랩 ()을 사용하여 여러 요소를 감쌀 수 있습니까?

JQUERY

jQuery - 랩 ()을 사용하여 여러 요소를 감쌀 수 있습니까?

해결법


  1. 1..wrall () 메서드를 사용할 수 있습니다.

    .wrall () 메서드를 사용할 수 있습니다.

    $('form > input').each(function(){
        $(this).next('label').andSelf().wrapAll('<div class="test"/>');
    });
    

    마크 업이 항상 똑같은 순서가있는 경우 다음을 더 좋아 드리고 싶습니다.

    var $set = $('form').children();    
    for(var i=0, len = $set.length; i < len; i+=2){
        $set.slice(i, i+2).wrapAll('<div class="test"/>');
    }    
    

    더 빨리 더 빨리 있어야합니다.

    심판 : .wapall (), .self (), .slice ()


  2. 2.

    $('input+label').each(function(){
        $(this).prev().andSelf().wrapAll('<div>');
    });​
    

  3. 3.이와 같은 것이있는 경우 :

    이와 같은 것이있는 경우 :

    <input id="input1">
    <label id="label1">
    <input id="input2">
    <label id="label2">
    

    그런 다음 jQuery를 사용할 수 있습니다.

     jQuery("#input1").next().andSelf().wrapAll('<div id="newDiv" />');
     jQuery("#input2").next().andSelf().wrapAll('<div id="newDiv" />');
    

    그리고 이것을 얻으십시오 :

    <div id="newDiv">
      <input id="input1">
      <label id="label1">
    </div>
    <div id="newDiv">
      <input id="input2">
      <label id="label2">
    </div>
    

    나를 위해 일했다 :-)


  4. 4.jQuery 함수 Wrapall을 사용하면 여러 요소를 랩핑 할 수 있지만 쓴 것처럼 DOM이있는 경우 레이블의 일부와 선택기와 함께 입력 할 수없는 경우에도 작동하지 않습니다. 나는 각 부분에 몇 가지 클래스를 추가 한 다음 Wrapall을 사용하는 것을 제안합니다.

    jQuery 함수 Wrapall을 사용하면 여러 요소를 랩핑 할 수 있지만 쓴 것처럼 DOM이있는 경우 레이블의 일부와 선택기와 함께 입력 할 수없는 경우에도 작동하지 않습니다. 나는 각 부분에 몇 가지 클래스를 추가 한 다음 Wrapall을 사용하는 것을 제안합니다.

    <input class="i1"/>
    <label class="i1"/>
    <input class="i2"/>
    <label class="i2"/>
    
    $('.i1').wrapAll('<div/>');
    $('.i2').wrapAll('<div/>');
    

    이것은 당신에게 줄 것입니다

    <div>
        <input class="i1"/>
        <label class="i1"/>
    </div>
    <div>
        <input class="i2"/>
        <label class="i2"/>
    <div>
    
  5. from https://stackoverflow.com/questions/3475594/jquery-use-wrap-to-wrap-multiple-elements by cc-by-sa and MIT license