JavaScript에서 속성을 수정하는 방법: 먼저 getElementById(), getElementsByName() 또는 getElementsByTagName()을 사용하여 DOM 개체를 가져온 다음 "DOM object.Attribute name = value;"를 사용하여 속성을 수정합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 5, Dell G3 컴퓨터.
HTML DOM 개체
JavaScript 관점에서 웹 페이지의 각 HTML 태그는 DOM 개체이며 태그의 속성은 DOM 개체의 속성이기도 합니다. 예:
JavaScript 관점에서 보면 이< img>태그는 DOM 객체의 일종인Image객체입니다. id, src, width, border 속성의 값이 지정되었으며, 기타 속성은 기본값을 채택합니다.
JavaScript 프로그램을 사용하여 DOM 개체에 액세스할 수 있습니다. 실제로 프로그램을 사용하여 HTML 태그에 액세스할 수 있습니다. 프로그래밍 방식으로 DOM 객체의 속성을 수정할 수 있습니다. 즉, 프로그램을 사용하여 HTML 태그의 속성을 수정하여 태그를 제어 가능하게 만들 수 있습니다.
DOM 개체의 속성은 일반적으로 해당 HTML 태그의 속성에 해당하며 이름은 일반적으로 동일하지만 DOM 개체의 속성은 대소문자를 구분해야 합니다. 예를 들어,border속성은,
HTML 태그와 이름이 다른 DOM 속성이 있지만 실제로는 동일한 속성입니다. 예를 들어 HTML 태그의class속성에 해당하는 DOM 속성은className입니다(대소문자 주의). 이는 클래스가 JavaScript에서 예약어이고 속성 이름이 예약어와 동일한 이름을 가질 수 없기 때문입니다.
해당 HTML 속성이 없는 일부 DOM 속성도 있습니다. 예를 들어innerHTML은 태그에 포함된 콘텐츠를 나타내는 DOM 속성입니다. 이 속성을 사용하여 HTML의 여는 태그와 닫는 태그 사이의 콘텐츠를 수정합니다. 그러나과 같은 단일 태그의 경우 해당Image개체에는innerHTML속성이 없습니다.
또한 DOM 개체는 프로그램에서 호출할 수 있는 메서드도 제공합니다.
사실 DOM 개체는 JavaScript 전용 개체가 아니라 크로스 플랫폼 개체이며 많은 언어에서 DOM 개체 액세스를 지원합니다. 자바스크립트는 그 중 하나일 뿐입니다.
객체 가져오기
JavaScript를 사용하여 HTML 태그의 속성을 설정하거나 수정할 때 가장 먼저 해야 할 일은 태그에 해당하는 DOM 객체를 가져오는 것입니다. 일반적으로 사용되는 방법은 다음과 같습니다.
1. id를 사용하여 DOM 객체 가져오기:
태그가 id 속성을 설정하는 경우 id 값을 사용하여 태그에 액세스할 수 있습니다.
document.getElementById( id )
2. 이름을 사용하여 DOM 개체 가져오기:
태그에 이름 속성이 설정된 경우 이름 값을 사용하여 태그에 액세스할 수 있습니다.
따라서document.getElementsByName( name )
3 태그 이름을 사용하여 DOM 개체 가져오기:
웹 페이지에 있기 때문입니다. , 동일한 A 태그가 여러 번 나타날 수 있으므로
比如:document.getElementsByTagName( "img" )返回的是一个 Image 对象数组,每个元素对应于网页中的一个标签,数组中的元素按标签出现的顺序排列。
比较以上三种方法,document.getElementById( id )是最好的也是最快的方法,它可以直接访问到网页中一个指定的 HTML 标签,这也是我们今后最常使用的方法。
设置或修改标签的属性
获取了一个 DOM 对象之后,我们可以为该对象的属性进行赋值,从而修改了它所对应标签的属性值。一般方法是:
DOM对象.属性名 = 值;
DOM 对象的属性名通常和HTML标签的属性名相同,但它要区分大小写,所以在书写时要特别注意。
例1:
本例可以通过按钮修改标签的border属性的值。
首先,为了可以访问这个标签,为它定义了id="image1"属性。
在按钮中,利用事件句柄onclick响应鼠标单击事件,调用 JS 函数setBorder()。
在setBorder()函数中,利用document.getElementById( "image1" )方法获取标签对应的 Image 对象,并为它的border属性设置新值。
例2:
本例利用按钮修改