programing

JQuery를 사용하여 특정 자식 요소가 없는 요소를 선택하는 방법

elecom 2023. 11. 4. 09:52
반응형

JQuery를 사용하여 특정 자식 요소가 없는 요소를 선택하는 방법

특정 자식 요소가 없는 모든 요소를 직접 자식으로 선택할 수 있는 JQuery 셀렉터가 있습니까?예를 들어,

<p>
    text in paragraph
</p>
<p>
    <div>text in div</div>
</p>

선택만 하고자 합니다.<p>첫번째 것처럼 (가 없이)<div>어린이).가능한가요?

자세한 정보:사실 제가 지금 삽입을 하려고 하는데요.<div>그 모든 것에<p>다음과 같은 표현으로 존재하지 않는.

$('p').wrapInner('<div />')

하지만 이것은 추가적으로 추가될 것입니다.<div>두번째로<p>.

다음을 시도해 볼 수 있습니다.

$("p:not(:has(>div))")

선택기를 함수[docs] 결합하여 다음을 달성할 수 있습니다.

$("p").not(":has(div)").wrapInner("<div/>");

또는 다음 셀렉터를 사용하여 단일 셀렉터를 사용할 수도 있습니다.

$("p:not(:has(div))").wrapInner("<div/>");

둘 중 하나를 혼용해서 사용할 수 있지만, IIRC, 첫 번째가 더 빠릅니다.

jsFiddle에서 실제 보기.

참고:div는 블록 레벨 요소이며p아닙니다.그것은 유효한 HTML이 아니라는 것을 의미합니다.div에 둥지를 튼p.

텍스트 요소 안에 있는 구조적 요소들은 내가 보기에는 매우 부정해 보이지만, 만약 당신이 주장한다면 ;)

$('p').not(":has(div)").wrapInner("<div/>");

데모: http://jsfiddle.net/NTpES/3/

시도해 보기:

$("p").filter("not(:has(div))").wrapInner("<div/>");

작동하는 것 같습니다.$('p:not("p div")')

언급URL : https://stackoverflow.com/questions/7258606/how-to-select-elements-which-do-not-have-a-specific-child-element-with-jquery

반응형