웹 페이지의 HTML 요소(객체) 내용을 동적으로 변경_경험 교환
动态HTML的出现为用户提供了一种基于传统标准HTML来创建交互式页面的机制。本文主要针对IE 5.0谈谈如何通过其提供的HTML文档对象(DOM)模型使用脚本添加、删除、修改页面中的HTML元素(对象)及元素(对象)内容。
动态更改网页HTML元素(对象)内容
HTML块级元素(对象)提供的4个可读写属性innerHTML、innerText、 outerHTML、outerText来更改元素(对象)内容(如表1所示)。
当设置innerHTML属性时,给定字符串完全替换现有的元素(对象)内容,如果给定字符串中含有HTML格式标签,那么该字符串就会进行解析并格式化。当用innerText属性设置时,给定字符串也完全替换现有元素(对象)文本内容,但与innerHTML不同的是HTML格式标签是当做文本直接显示在页面中。若用outerHTML和outerTexe属性设置时,则完全替换元素(对象)。具体操作示例请参见PC World China网站的相关内容。
修改网页HTML元素
IE 5.0中文档对象模型(DOM)提供的修改元素(节点)的方法如表2所示。
在网页中添加新元素分为2个步骤,先创建新元素(对象),然后再将新创建的元素(对象)插入到网页中。在插入到网页之前,允许对该元素(对象)有关属性进行设置,但不能通过元素(对象)ID来引用。也可以使用document.createElement创建新元素,该方法所带参数为用于元素的合法HTML格式标签字符串(包含元素属性)。此外还可以通过元素(对象)cloneNode方法复制该元素(对象)的途径来创建新元素。将新元素插入文档可以通过使用元素(对象)appendChild或insertBefore方法来实现,前者是在元素(对象)子元素集合末尾插入新元素,后者是在元素(对象)子元素集合中某个子元素前插入新元素。
替换、删除元素(对象)需要注意: ①在replaceChild、removeChild中指定的参数必须为该元素(对象)的直接子元素(对象); ②在使用replaceNode替换元素(对象)时,所有与该元素(对象)相关的属性和内容也将被替换;③如果removeNode中指定参数为true,则该元素包含的所有子元素(节点)也将被删除,默认false,即不删除子元素(节点)。具体操作示例请参见PC World China网站的相关内容。
插入网页新元素(对象)、HTML或文本内容 此外,也可用insertAdjacenElement、insertAdjacentHTML和insertAdjacentText等方法分别在元素(对象)的指定位置插入新元素(对象)、Html或文本内容(如表3所示)。
元素(对象)、HTML或文本内容插入的位置由参数指定。BeforeBegin指定插入在元素(对象)之前; afterBegin指定插入在元素(对象)的所有内容之前; beforeEnd指定插入在元素(对象)的所有内容之后; afterEnd指定插入在元素(对象)之后。具体操作示例请参见PC World China网站的相关内容。
网页动态更改综合运用 我们以菜单程序为例演示网页元素及元素内容修改的应用。该程序灵活运用了元素创建、追加、删除等方法及innerHTML属性建立菜单及子菜单(该程序利用了XML技术读取菜单数据,有关XML技术请参考相关手册),该程序略加修改即可成为一个功能非常强大的实用菜单程序。综合运用示例源代码如下。
---- < HTML >< 머리 >
---- < title >综합합사용示例< /제목 >
---- < 스크립트 > var activeMenu,menuContainer=null;
---- function menusetup(){
---- var parentMenuItems=MENUXML.selectNodes("//Menulist/menu");
---- var xmlElement=parentMenuItems.nextNode();
---- while (xmlElement!=null){
---- var newElement=document.createElement("span");
---- newElement.innerText =xmlElement.getAttribute("display");
---- newElement.id=xmlElement.getAttribute("value")
---- newElement.type="parentMenu"
---- newElement.style.width=100;
---- newElement.style.BackgroundColor="#CCCCCC";
---- menubar.appendChild(newElement);
---- xmlElement = parentMenuItems.nextNode(); }}
---- 함수 menuClick(){
---- EventSource=event.srcElement
---- 스위치(EventSource.type){
---- 케이스 "parentMenu ":
---- 제거SubMenu();
---- buildSubMenu(EventSource.id);
---- EventSource.setCapture();
---- activeMenu=이벤트소스;
---- 휴식;
---- 기본값:
---- activeMenu.releaseCapture();
---- 제거SubMenu();
---- activeMenu=null;
---- break;} }
-- function buildSubMenu(EventSourceid){
---- menuContainer=document.createElement("div");
---- menuContainer.style.BackgroundColor="#DD00DD";
---- menuContainer.style.width=100;
---- eval(EventSourceid).appendChild(menuContainer);
---- var subMenuItems=MENUXML.selectNodes("//menu[@value='"+EventSourceid+"']/Item");
---- var xmlElement=subMenuItems.nextNode();
---- while (xmlElement!=null){
---- var newElement=document.createElement("div");
---- newElement.innerHTML=xmlElement.getAttribute("display");
---- menuContainer.appendChild(newElement);
---- xmlElement=subMenuItems.nextNode(); }}
-- 함수 제거SubMenu(){
-- if(menuContainer!=null)menuContainer.removeNode(true);}
---- < /스크립트 >
---- < /머리 >< body onload=menusetup() >
---- < xml id=MENUXML >< 메뉴 목록 >
---- < 메뉴 표시="파일" 값="파일" >
---- < 항목 표시="새" 값="새"/ >
---- < Item display="열기" value="열기" / >
---- < Item display="저장" value="저장" / >
---- < /메뉴 >
---- < /메뉴리스트 >< /xml >
---- < div id=menubar onclick=menuClick() >< /div >
---- < /본문>< /html >
站长사용javascript直接生成長素的代码
------------시작---------------
ABCDE

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이것은 우리가 양식 접근성에 대해 한 작은 시리즈의 세 번째 게시물입니다. 두 번째 게시물을 놓친 경우 "사용자 초점 관리 : Focus-Visible"을 확인하십시오. ~ 안에

이 튜토리얼은 Smart Forms 프레임 워크를 사용하여 전문적인 JavaScript 양식을 작성하는 것을 보여줍니다 (참고 : 더 이상 사용할 수 없음). 프레임 워크 자체를 사용할 수 없지만 원칙과 기술은 다른 형태의 건축업자와 관련이 있습니다.

CSS Box-Shadow 및 개요 속성은 주제를 얻었습니다. 실제 테마에서 어떻게 작동하는지에 대한 몇 가지 예와 이러한 스타일을 WordPress 블록 및 요소에 적용 해야하는 옵션을 보자.

Svelte Transition API는 맞춤형 전환을 포함하여 문서를 입력하거나 떠날 때 구성 요소를 애니메이션하는 방법을 제공합니다.

웹 사이트의 컨텐츠 프레젠테이션을 설계하는 데 얼마나 많은 시간을 소비합니까? 새 블로그 게시물을 작성하거나 새 페이지를 만들 때

이 기사에서 우리는 스크롤 바의 세계로 뛰어들 것입니다. 너무 화려하게 들리지는 않지만 잘 설계된 페이지가 손을 잡고 있습니다.

NPM 명령은 서버 시작 또는 컴파일 코드와 같은 것들에 대한 일회성 또는 지속적으로 실행되는 프로세스로 다양한 작업을 실행합니다.
