javascript中获取元素标签中间的内容的实现方法


Posted in Javascript onOctober 08, 2016

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

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

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

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

<html>
<head>
<style>
.css1{background-color:ff0000;color:ff9966;border:1;cursor:hand;}
.css2{background-color:00ff00;color:ffffff;border:1;cursor:hand;}
</style>

<script type="text/javascript">
function changeneirong()
{
  var spanv = document.getElementsByTagName("span");
  spanv[2].innerHTML = "我由常军魁变为了span";
}
function changediv()
{
  document.getElementsByTagName("div")[0].innerHTML = "我由常军魁变成了div";
}
function changep()
{
  document.getElementsByTagName("p")[0].innerHTML = "我由常军魁变成了p标签";
}

function change()
{
var spanvar = document.getElementsByTagName("span");
alert(spanvar[0].innerHTML);
document.getElementsByTagName("span")[0].className = "css2";
}
 
 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>
<span class="css1" onclick="change()">常军魁</span>
<span class="css1" onclick="javascript:this.className='css2'">这是一段文字
</span>
<br />
<span onclick="changeneirong()" style="corsur:hand;">常军魁</span>
<br />
<div onclick="changediv()">常军魁</div>
<p onclick="changep()">常军魁</p>
 
 
 
<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>

以上就是小编为大家带来的javascript中获取元素标签中间的内容的实现方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
判断ie的两种简单方法
Aug 12 Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 Javascript
一个jquery实现的不错的多行文字图片滚动效果
Sep 28 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
Vuex 快速入门(简单易懂)
Sep 20 Javascript
详解在vue-test-utils中mock全局对象
Nov 07 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
Dec 09 Javascript
Vue组件化开发之通用型弹出框的实现
Feb 28 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
Apr 07 Javascript
JavaScript实现烟花绽放动画效果
Aug 04 Javascript
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
Jquery和Js获得元素标签名称的方法总结
Oct 08 #Javascript
JS获取html元素的标记名实现方法
Oct 08 #Javascript
js获取元素的标签名实现方法
Oct 08 #Javascript
什么是JavaScript中的结果值?
Oct 08 #Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 #Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
Oct 08 #Javascript
bootstrap下拉列表与输入框组结合的样式调整
Oct 08 #Javascript
You might like
Protoss魔法科技
2020/03/14 星际争霸
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP 事件机制(2)
2011/03/23 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
ajax 文件上传应用简单实现
2009/03/03 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
jquery自定义表格样式
2015/11/23 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
Python正则表达式匹配中文用法示例
2017/01/17 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
《雷雨》教学反思
2014/02/20 职场文书
材料会计岗位职责
2014/03/06 职场文书
质量安全标语
2014/06/07 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang