HTML 이벤트 속성
전역 이벤트 속성: HTML 4에는 사용자가 요소를 클릭할 때 JavaScript를 시작하는 등 이벤트가 브라우저에서 작업을 트리거하도록 하는 기능이 추가되었습니다.
a. 창 이벤트 속성, 창 개체(
태그에 적용됨)에 의해 트리거되는 이벤트의 경우 일반적으로 사용되는 속성은 onload입니다.b. HTML 양식 내의 작업에 의해 트리거되는 이벤트인 양식 이벤트(거의 모든 HTML 요소에 적용되지만 양식 요소에서 가장 일반적으로 사용됨): 일반적으로 사용되는 이벤트는 onblur, onfocus, onselect 및 onsubmit입니다.
c. 키보드 이벤트
d. 마우스 이벤트, 마우스 또는 유사한 사용자 동작에 의해 트리거되는 이벤트: 일반적으로 사용되는 이벤트는 onclick, onmouseover 및 onmouseout입니다.
e. 미디어 이벤트, 미디어(예: 비디오, 이미지 및 오디오)에 의해 트리거되는 이벤트(모든 HTML 요소에 적용 가능하지만 일반적으로
동적으로 HTML 태그 생성
a. 두 가지 전통적인 방법
document.write 메서드와 innerHTML 속성, 둘 다 표준화된 DOM(W3C 표준)에서 지원하는 메서드 및 속성이 아니며 둘 다 HTML 전용 속성입니다.
document.write 메소드는 요소 태그, 특히 문자열을 쉽게 삽입할 수 있습니다. 하지만 이는 웹 디자인이 동작(스크립트)과 구조(html 태그)를 분리해야 한다는 원칙에 어긋납니다.
<!DOCTYPE html> <html> <head> <meta chaset="utf-8" /> <title>document.write</title> <body> <script> <!--可以很方便的插入元素标签,尤其是字符串.但是它与网页设计应将行为(脚本)和结构(html标签)分离的原则--> document.write("<p>This is inserted by document.write</p>"); </script> </body> </head> </html>
innerHTML은 다음과 같이 웹 페이지에 큰 HTML 콘텐츠를 삽입하는 데 적합합니다.
<p id="testp"> </p> window.onload = function() { var testp = document.getElementById("testp"); testp.innerHTML = "<p>This is inserted by <em>innerHTML</em></p><en>"; }
b. 더 세련된 dom 방법 - dom 노드 트리 가져오기 및 dom 변경 노드 트리
검색 노드(요소): document.getElementById 및 element.getElementsByTagName
노드(요소) 생성: document.createElement,document.createTextNode
추가 노드(요소): element.appendChild
삽입(노드 하나 삽입 다른 노드 앞에) :parentEelement.insertBefore(newElement, targetElement)
매우 유용한 속성: element.parentNode(부모 노드 가져오기), element.nextSibling(형제 노드 가져오기)
위의 innerHTML 속성을 사용하여 HTML을 삽입하는 효과 dom 메소드를 사용하여 여전히 달성할 수 있습니다:
window.onload = function() { var testp = document.getElementById("testp"); var para = document.createElement("p"); testp.appendChild(para); var context1 = doument.createTextNode("This is inserted by "); para.appendChild(context1); var emphasis = document.createElement("em"); para.appendChild(emphasis); var context2 = document.createTextNode("method of domcore"); emphasis.appendChild(context2); }
위의 dom 메소드를 사용하여 다른 노드 뒤에 하나의 노드를 삽입하는 함수를 작성합니다:
function insertAfter(newElement, targetElement) { var parent = targetElement.parentNode; if (parent.lastChild == targetElement) { parent.appendChild(newElement); } else { targetElement.inserBefore(newElement, targetElement.nextSibling); } }
위 내용은 자바스크립트에서 html 태그를 동적으로 생성하는 방법 예제 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!