반응형
jquery는 첫 번째 요소를 제외한 모든 요소를 제거합니다.
jquery를 사용하여 첫 번째 태그를 제외한 모든 스팬 태그를 제거하려면 어떻게해야합니까?
EDIT
var html = var htm = $("#addin").find(".engagement_data:last-child").find(".keys_values").html();
html='
<span style="display:block;" class="k_v">
<innput type="text" class="e_keys" style="width:65px;" placeholder="key"/>
<input type="text" class="e_values" style="width:65px;" placeholder="value"/>
</span>
<span style="display:block;" class="k_v">
<input type="text" class="e_keys" style="width:65px;" placeholder="key"/>
<input type="text" class="e_values" style="width:65px;" placeholder="value"/>
</span>
';
시도해보십시오 :
$(html).not(':first').remove();
또는 더 구체적으로 :
$(html).not('span:first').remove();
DOM에서 제거하려면 html
변수 대신 선택기를 사용하십시오.
$('#addin .engagement_data:last-child .keys_values').not('span:first').remove();
또는 대안으로 :
$('span').slice(1).remove();
slice ()
DOM 요소 집합을 나타내는 jQuery 객체가 주어지면 .slice () 메서드는 start 및 선택적으로 end 인수로 지정된 요소의 하위 집합을 포함하는 새 jQuery 객체를 생성합니다.start
유형 : Integer
요소가 선택되기 시작하는 0부터 시작하는 위치를 나타내는 정수입니다. 음수이면 세트 끝에서의 오프셋을 나타냅니다.
출처 : https://api.jquery.com/slice
따라서 $('span').slice(1).remove()
첫 번째 인스턴스 이후의 모든 요소를 선택하고 제거합니다.
이 선택기를 사용하십시오.
$('span:not(first-child)')
따라서 코드는 다음과 같습니다.
$('span:not(first-child)').remove();
이 시도
$('html').not(':first').remove();
위의 내용은 찾고있는 유형의 자식 요소를 제외하고 콘텐츠에 다른 것이없는 경우 특정 예에서 작동 할 수 있습니다. 그러나 더 복잡한 마크 업으로 인해 문제가 발생합니다.
<ul id="ul-id" class="f-dropdown tiny" data-dropdown-content="">
<li>
<div id="warningGradientOuterBarG" class="barberpole">
<div id="warningGradientFrontBarG" class="warningGradientAnimationG">
<div class="warningGradientBarLineG"></div>
</div>
</div>
</li>
<li>foo</li>
<li>bar</li>
</ul>
var $ul = $('#ul-id')
$ul.not(':first') //returns nothing
$ul.find(':first') // returns first <li>
$ul.find(':not(:first)') //returns the inner divs as well as the last two li's
$('#ul-id li:not(first-child)') // this returns all li's
$('#ul-id li:not(:first)') // this works: returns last two li's
$ul.find('li').slice(1) // this also works and returns the last two li's
$ul.find('li').slice(1).remove() // and this will remove them
참고 URL : https://stackoverflow.com/questions/18874298/jquery-remove-all-elements-except-for-first-one
반응형
'IT Share you' 카테고리의 다른 글
IE10이 텍스트 상자에 삽입하는 지우기 버튼을 비활성화하려면 어떻게해야합니까? (0) | 2020.12.06 |
---|---|
JavaScript의 개체에서 값 가져 오기 (0) | 2020.12.06 |
iOS에서 상태 표시 줄을 숨기는 방법은 무엇입니까? (0) | 2020.12.05 |
Java에 using 문이 있습니까? (0) | 2020.12.05 |
div 내부에서 이미지를 세로로 정렬하는 방법 (0) | 2020.12.05 |