CSS1-3 선택기가 올바른 요소를 가져 왔는지 확인하기 위해 어떻게 테스트 할 수 있습니까? 자바 스크립트 (어쩌면 jQuery)?JavaScript에서 CSS 선택기를 테스트하려면 어떻게합니까?
답변
가장 단순한 전통적인 방법은 JavaScript를 전혀 사용하지 않고 손으로 테스트 페이지를 설정하여 선택기를 마음 속의 콘텐츠로 테스트 할 수 있도록하는 것입니다. 웹에서 볼 수있는 테스트 사례 (잘 알려진 CSS3.info Selectors Test과 같은)는 실제로 온라인에서 호스팅되는 최신 버전입니다.
그러나 자바 스크립트 메소드를 찾고 있다면 Selectors API을 사용해보세요. 최신 DOM 구현 (IE8 이상)에서 사용할 수 있으며 CSS 선택기를 사용하여 요소 노드에 대한 DOM을 쿼리하고 특정 브라우저에서 기본적으로 지원하는 CSS 선택기를 테스트하는 JavaScript 프론트 엔드를 제공합니다.
(Selectors API를 구현하지 않는 브라우저의 경우 jQuery에 의존해야하지만 브라우저가 자체적으로 지원하지 않는 선택기 세트를 지원한다는 점을 기억해야합니다. 선택기를 테스트하는 크롬의 자바 스크립트 콘솔과 jQuery를 사용하는 Selectors spec. 예에없는 표준 확장). 테스트 할 내용에 따라
전화 querySelector()
또는 querySelectorAll()
을 here을 발견하고 확인 할 수있다 반환 값 (테스트하기 만하면 브라우저의 개발자 도구에 표시되는 것이 바람직 함) :
일치하는 항목이 있으면 앞의 메서드는 첫 번째로
Element
을 반환하고 후자는NodeList
과 일치하는 모든 요소를 반환합니다.아무 것도 발견되지 않으면 전자는
null
을 반환하고 후자는 빈NodeList
을 반환합니다.선택기가 유효하지 않은 경우 catch 할 수있는 예외가 발생합니다.
var h1 = document.body.querySelector('h1'); console.log(h1);
: 첫 번째<h1 itemprop="name">
h1
body
에서 찾기: 여기
그 하위 항목에 대한 쿼리 :우리가 발견요소 :
var subnodes = h1.querySelectorAll('*'); console.log(subnodes[0]);
<a class="question-hyperlink" href="https://stackoverflow.com/questions/9165859/how-do-i-test-css-selectors-in-javascript">
테스트 (사파리/크롬
:-webkit-any()
)에:-moz-any()
파이어 폭스에서 의사 클래스 :// This selector works identically to h1 > a, li > a var hyperlinks = document.querySelectorAll(':-moz-any(h1, li) > a'); console.log(hyperlinks);
[a#nav-questions /questions, a#nav-tags /tags, a#nav-users /users, a#nav-badges /badges, a#nav-unanswered /unanswered, a#nav-askquestion /questions/ask, a.question-hyperlink /questio...vascript]
테스트 존재하지 않는 선택 (즉, perhaps many of us wish did exist) :
// :first-of-class doesn't exist! var selector = 'div.answer:first-of-class'; try { var firstAnswer = document.querySelector(selector); console.log(firstAnswer); } catch (e) { console.log('Invalid selector: ' + selector); }
Invalid selector: div.answer:first-of-class
http://selectorgadget.com 테스트 및 CSS 선택기를 구축하는 것은 매우 좋은 것입니다. 그들이 제공하는 자바 스크립트를 북마크 바에 드래그 앤 드롭하고 필요할 때마다 클릭하면됩니다.
- 1. CSS 선택기를 취소/비활성화하려면 어떻게합니까?
- 2. Selenium RC에서 포커스가있는 요소를 테스트하려면 어떻게합니까?
- 3. UrlHelper.RouteUrl()을 테스트하려면 어떻게합니까?
- 4. 라디오를 테스트하려면 어떻게합니까?
- 5. HTML 5와 CSS 3에 컬러 드롭 다운 선택기를 표시하려면 어떻게합니까?
- 6. 다음과 같은 CSS 선택기를 사용하여 형제의 속성을 수정하려면 어떻게합니까?
- 7. MVVM에서 뷰를 올바르게 테스트하려면 어떻게합니까?
- 8. 암호화 알고리즘의 품질을 테스트하려면 어떻게합니까?
- 9. 개발자 컴퓨터에서 SSL을 테스트하려면 어떻게합니까?
- 10. 웹 페이지에서 굵은 텍스트의 비율을 테스트하려면 어떻게합니까?
- 11. jQuery없이 Javascript에서 체인 선택기를 연결하는 방법
- 12. CSS 선택기를 Python의 XPath로 변환하십시오.
- 13. Windows 환경에서 복사 명령을 테스트하려면 어떻게합니까?
- 14. CLI를 사용하여 IronWorker 작업을 로컬에서 테스트하려면 어떻게합니까?
- 15. 내 웹 페이지의 성능을 테스트하려면 어떻게합니까?
- 16. JavaScript를 사용하여 빈 문자열/null을 테스트하려면 어떻게합니까?
- 17. nUnit을 사용하여 응답 데이터를 테스트하려면 어떻게합니까?
- 18. File :: ShareDir을 사용하는 모듈을 테스트하려면 어떻게합니까?
- 19. FlexUnit 4에서 이벤트 시퀀스를 테스트하려면 어떻게합니까?
- 20. 승인 절차를 통해 트리거를 테스트하려면 어떻게합니까?
- 21. Perl에서 NaN 또는 무한대를 만들거나 테스트하려면 어떻게합니까?
- 22. 배치 파일에서 현재 드라이브 문자를 테스트하려면 어떻게합니까?
- 23. ActiveRecord 생성 블록 내에서 동작을 테스트하려면 어떻게합니까?
- 24. 메서드 개체의 메서드를 단위 테스트하려면 어떻게합니까?
- 25. 로컬 호스트의 Facebook "좋아요"버튼을 테스트하려면 어떻게합니까?
- 26. Visual C++ 재배포 가능 항목을 테스트하려면 어떻게합니까?
- 27. DOS에서 SQL Server 연결을 테스트하려면 어떻게합니까?
- 28. 복잡한 개체 그래프를 생성하는 메서드를 테스트하려면 어떻게합니까?
- 29. 마스터 페이지에 테마 선택기를 삽입하려면 어떻게합니까?
- 30. Excel 리본 막대에서 범위 선택기를 활성화하려면 어떻게합니까?
정확한 내용을 설명하는 [this] (http://lea.verou.me/2011/07/detecting-css-selectors-support-my-jsconf-eu-talk/) 블로그 기사를 읽어 보시기 바랍니다. 문제를 해결하고 몇 가지 해결책을 제시합니다. –