오늘 동료가 jQuery 필터링에 대해 상담했습니다. 그는 UNREGISERED 버전의 Easy CHM에서 만든 jQuery1.7의 문서를 확인했는데, 그 안에 있는 지침이 너무 필터링되어 정상적으로 실행될 수 없다는 것을 발견했습니다. document 일부 콘텐츠에는 학습자를 오해할 수 있는 버그가 있습니다. 동시에 이번 필터 조사를 통해 이전에 주의하지 않았던 HTML p 요소의 문제점을 발견했습니다.
먼저 살펴보겠습니다. Easy CHM의 UNREGISERED 버전으로 만든 jQuery1.7에서 설명
하위 요소 중 ol을 포함하지 않는 요소를 유지합니다.
HTML 코드:
<p> <ol> <li>Hello</li> </ol> </p> <p>How are you?</p>
jQuery 코드:
$("p").filter(function(index) { return $("ol", this).length == 0;//这里明显有错误的.这样也不可能成功的. });
결과:
[ <p>How are you?</p> ]
사실, 이 오류는 $("ol", this).length == 0입니다. ( this).has("ol").length==0 으로 변경해도 괜찮지만, 다른 요소를 래핑하는 p 요소의 문제가 발생합니다. 전체 HTML에서 이 코드 내용만 있어야 합니다.
<p><div>I'm nest in p element.</div></p>
그런 다음 jQuery를 사용하여 이 HTML에서 p 요소를 가져옵니다.
alert($("p").length);
p는 하나만 있기 때문에 반환 결과는 모두 1이 될 것으로 예상해야 합니다. 실험해볼 수 있습니다.
Chrome.Firefox.Opera.Safari.IE.모두 2.왜?
나보다 더 조심스럽고 엉성하지 않은 많은 사람들이 그 이유를 알 것입니다. 이런 종류의 문제는 나에게 매우 중요합니다. 부주의한 사람들은 실수하기가 매우 쉽습니다. P 요소는 블록 수준 요소(P 자체 포함)를 포함할 수 없다는 것이 밝혀졌습니다. . 블록 수준 요소(P 자체 포함)를 포함할 수 없습니다.
위 내용은 html: P 요소를 무작위로 중첩하지 마세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!