打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用js动态的修改div和span标记中的文本内容_紫龙龙子
使用js动态的修改div和span标记中的文本内容
2008-08-28 22:04

使用ajax,通过会把服务器端响应获取到reponseText或者reponseXML中的信息,以某种方法动态的写到divspan标记中,这样,可以在无刷新的情况下,改变页面内容的显示。

通过javascript进行动态的修改,修改的方法有两种:

1.       一种是使用html的每个标记的innerHTML属性,使用此属性,只要为它提供一个有意义的html代码片段,那么html解释器就可以将其中的内容进行解释,并显示在页面上,使用这种方式比较简单,每次修改前不需要先把原来的内容清除掉,而可以直接进行填充,填充的同时会把原来的内容覆盖掉。这种方式虽然简单,但是目前还不是w3c的标准,不过主流的浏览器如IE,firefox都已经采用。

2.       另外一种是创建一个Text Node节点作为divspan元素的子节点,采用这种方式,divspan中要显示的内容保存在Text Node中,这样divspan元素显示的内容是由Text Node提供的。需要注意的是:在每次填写内容时,需要先把原来的Text Node删除掉,然后新建一个Text Node再写入内容。如果不删除的话,那么每次调用填充操作时,都会新建一个新的Text Node,也就造成divspan元素下有多个Text Node节点,并且每个Text Node都会把自身的内容显示出来,因此不会覆盖原来的内容。

3.       通过不删除已有的Text Node,每次填充时创建一个新的Text Node,可以进行多次append操作,那么对于每次操作不需要覆盖原有的情况,可以使用这种方式来实现。

实例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

<script type="text/javascript">

    function fillDivWithInnerHTML() {

       var username = document.getElementById("username").value;

       var textDiv = document.getElementById("textDiv");

       textDiv.innerHTML=username;

    }

    function fillDivWithTextNode() {

   

       var textDiv = document.getElementById("textDiv");

       //首先删除所有已新建的Text Node节点

       while(textDiv.hasChildNodes()) {

           textDiv.removeChild(textDiv.childNodes[0]);

       }

       var textNode = document.createTextNode(document.getElementById("username").value);

       textDiv.appendChild(textNode);

    }

   

    function fillSpanWithInnerHTML() {

       var username = document.getElementById("username").value;

       var textSpan = document.getElementById("textSpan");

       textSpan.innerHTML=username;

    }

   

    function fillSpanWithTextNode() {

       var textSpan = document.getElementById("textSpan");

       //首先删除所有已新建的Text Node节点

       while(textSpan.hasChildNodes()) {

           textSpan.removeChild(textSpan.childNodes[0]);

       }

      

       var textNode = document.createTextNode(document.getElementById("username").value);

       textSpan.appendChild(textNode);

    }

   

   

</script>

</head>

<body>

<input type="text" id="username" name="username"/><br/>

<input type="button" id="fillDivWithInnerHTML" value="fillDivWithInnerHTML" onclick="fillDivWithInnerHTML()"/>

<br/>

<input type="button" id="fillDivWithTextNode" value="fillDivWithTextNode" onclick="fillDivWithTextNode()"/>

<br/>

<input type="button" id="fillSpanWithInnerHTML" value="fillSpanWithInnerHTML" onclick="fillSpanWithInnerHTML()"/>

<br/>

<input type="button" id="fillSpanWithTextNode" value="fillSpanWithTextNode" onclick="fillSpanWithTextNode()"/>

<span id="textSpan"></span><br/>

<div id="textDiv"></div>

</body>

</html>

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
操作表单
在网页中显示文本 (JavaScript)
JavaScript内存泄漏的情况
详解JavaScript DOM中的Node节点
js倒计时刷新
身份证函数 查看身份证地区信息-编程实例-eNet网络学院-中国最权威的电脑教程软件资讯网...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服