복붙노트

[JQUERY] 하지 CSS에서 작동하지 () 선택 : 왜 내 jQuery를 무엇입니까?

JQUERY

하지 CSS에서 작동하지 () 선택 : 왜 내 jQuery를 무엇입니까?

해결법


  1. 1.아마도 그것은해야하지만 그렇지 않은 것으로 나타났다 : jQuery를이 확장 :하지 () 선택 등 당신이 어떤 선택을 전달할 수 있다는 상관없이 그것은있을 수 있습니다 얼마나 복잡하고, 나는이 주요 원인이라고 의심 또한, 어떤 임의의 복잡한 선택을 취하고 그에 따라 필터링하는 냈어 () 메소드와 패리티. 그것은 방법에서와는 CSS와 같은 구문을 유지하지만 표준에 정의 무슨에서 확장합니다.

    아마도 그것은해야하지만 그렇지 않은 것으로 나타났다 : jQuery를이 확장 :하지 () 선택 등 당신이 어떤 선택을 전달할 수 있다는 상관없이 그것은있을 수 있습니다 얼마나 복잡하고, 나는이 주요 원인이라고 의심 또한, 어떤 임의의 복잡한 선택을 취하고 그에 따라 필터링하는 냈어 () 메소드와 패리티. 그것은 방법에서와는 CSS와 같은 구문을 유지하지만 표준에 정의 무슨에서 확장합니다.

    또 다른 예로서, 이것은 잘 (나는이 질문에 주어진 무슨에 비해 믿을 수 없을만큼 우스꽝스러운 예를 알고,하지만이 설명을 위해 단지) 작동 :

    /* 
     * Select any section
     * that's neither a child of body with a class
     * nor a child of body having a descendant with a class.
     */
    $('section:not(body > [class], body > :has([class]))')
    

    jsFiddle 미리보기

    기억에 선택기의 쉼표로 구분 된 목록을 전달한다 : 나열된 선택기 일치하지 않는 요소를 필터링하지 ()을 의미합니다.

    이제 : 선택기 레벨 3에서하지 () 의사 클래스는, 다른 한편으로는, 매우 자체에 의해 제한됩니다. 당신은 단지에 인수로 하나의 간단한 선택을 전달할 수 없습니다 (). 한 번에 다음의 어느 하나를 전달할 수있는이 수단 :

    하지 () 선택 현재 표준의 :하지 () 선택 그래서, 여기에 jQuery의 차이점은 다음과 같습니다 :

    하지 () 선택기 복잡한 선택기 쉼표로 구분 있도록 : 좋은 뉴스 선택기 강화합니다 4 (가)이다. 복잡 선택기 외로운 단순 또는 복합 선택기, 선택기의 화합물 또는 전체 체인 중 하나는 단순히 연결자에 의해 분리된다. 즉, 모든 것이 당신은 위 참조.

    CSS 구현은 향후에 지원을 시작할 때의 jQuery 예는 위의 많은 의사 클래스를 만들 것이다 유효한 레벨 4 선택기, 훨씬 더 도움이 될 것이라고이 의미합니다.

    (1)이 문서가 당신에게 선택기의 쉼표로 구분 된 목록 통과 할 수 있다고하더라도 : 파이어 폭스 3에서하지 ()를, 당신은 할 수 있어야 아닙니다. 그것은 그 기사 주장 파이어 폭스 3에서 작동하는 경우 파이어 폭스 3의 버그가있는 나는 티켓을 찾을 수 없기 때문에, 그것은 더 이상하지만 미래의 브라우저는 미래의 표준을 구현 할 때까지 작동하지 않을 수 있습니다. 나는,이 효과에 코멘트를 남겨 두었다 그 문서는 날짜에 인용되는 빈도를보고하지만 기사가 얼마나 오래된 또한보고하고 사이트가 업데이트되고 있는지 자주, 정말 수정에 돌아 오는 저자에 계산 아니에요 그것.

  2. from https://stackoverflow.com/questions/10711730/why-is-my-jquery-not-selector-not-working-in-css by cc-by-sa and MIT license