> 웹 프론트엔드 > CSS 튜토리얼 > `h3:nth-child(1):contains(\'a\')`가 작동하지 않는 이유는 무엇이며 대안은 무엇입니까?

`h3:nth-child(1):contains(\'a\')`가 작동하지 않는 이유는 무엇이며 대안은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-04 00:33:11
원래의
399명이 탐색했습니다.

Why Doesn't `h3:nth-child(1):contains('a')` Work, and What Are the Alternatives?

h3:nth-child(1):contains('a')의 단점 이해

선택기 h3:nth-child (1):contains('a')는 부모의 첫 번째 자식이고 텍스트를 포함하는 h3 요소를 대상으로 삼는 것을 목표로 합니다. "아." 그러나 이 선택기는 :contains() 선택기의 근본적인 문제로 인해 작동하지 않습니다.

:contains() 오류

:contains() 선택기 처음에 CSS3 기능으로 제안된 은 텍스트 콘텐츠를 기반으로 요소를 선택하기 위한 것이었습니다. 그러나 성능과 정확성에 한계가 있었습니다. 범용 선택기에서 :contains()를 사용하면 예상치 못한 결과가 발생하고 검색 속도가 느려질 수 있습니다. 결과적으로 선택기는 CSS 사양의 일부가 되지 않았습니다.

대체 솔루션

원하는 효과를 얻으려면 대체 접근 방식을 활용하는 것이 좋습니다.

  • 원하는 요소를 명시적으로 식별하도록 HTML 구조를 수정하세요.
  • jQuery를 사용하세요. :contains() 메서드는 원래 :contains() 기능을 보다 제어된 방식으로 구현합니다.

jQuery 및 Selenium RC 고려 사항

jQuery 및 Selenium RC는 :contains() 구현을 포함하는 Sizzle 선택기 엔진을 활용합니다. 하지만 이 선택기는 예상치 못한 결과가 발생할 수 있으므로 주의해서 사용하는 것이 중요합니다.

선택기 최적화

마지막으로 h3:nth-child(1)를 h3으로 교체하세요. :첫째. 이 CSS2 선택기는 첫 번째 하위 요소를 선택하기 위해 n번째 하위 요소보다 더 넓은 브라우저 지원을 제공합니다.

위 내용은 `h3:nth-child(1):contains(\'a\')`가 작동하지 않는 이유는 무엇이며 대안은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿