浅述节点的创建及常见功能的实现


Posted in Javascript onDecember 15, 2016

新创建一个元素节点,并把该节点添加为文档中指定节点的子节点

1,新创建一个元素节点,返回值为指向元素节点的引用

var liNode =document.creatElement("li");
var cityNode=document.getElementById("city");

新添加newChild子节点,该子节点将作为elementNode

cityNode.appendChild(liNode);

2,创建一个文本节点 creatTextNode

var xmText=document.creatTextNode("厦门");

//需求: 点击 submit 按钮时, 检查是否选择 type, 若没有选择给出提示: "请选择类型"; 
// 检查文本框中是否有输入(可以去除前后空格), 若没有输入,则给出提示: "请输入内容";
//若检查都通过, 则在相应的 ul 节点中添加对应的 li 节点 
//需求2: 使包括新增的 li 都能响应 onclick 事件: 弹出 li 的文本值. 
window.onload = function(){
function showContent(liNode){
alert("^_^#" + liNode.firstChild.nodeValue);
}
var liNodes = document.getElementsByTagName("li");
for(var i = 0; i < liNodes.length; i++){
liNodes[i].onclick = function(){
showContent(this);
}
}
//1. 获取 #submit 对应的按钮 submitBtn
var submit = document.getElementById("submit");
//2. 为 submitBtn 添加 onclick 响应函数
submit.onclick = function(){
//4. 检查是否选择 type, 若没有选择给出提示: "请选择类型"
//4.1 选择所有的 name="type" 的节点 types
var types = document.getElementsByName("type");
//4.2 遍历 types, 检查其是否有一个 type 的 checked 属性存在, 就可说明
//有一个 type 被选中了: 通过 if(元素节点.属性名) 来判断某一个元素节点是否有
//该属性.
var typeVal = null;
for(var i = 0; i < types.length; i++){
if(types[i].checked){
typeVal = types[i].value;
break;
}
}
//4.3 若没有任何一个 type 被选中, 则弹出: "请选择类型". 响应方法结束: 
//return false
if(typeVal == null){
alert("请选择类型");
return false;
}
//5. 获取 name="name" 的文本值: 通过 value 属性: nameVal 
var nameEle = document.getElementsByName("name")[0];
var nameVal = nameEle.value;
//6. 去除 nameVal 的前后空格. 
var reg = /^\s*|\s*$/g;
nameVal = nameVal.replace(reg, "");
//使 name 的文本框也去除前后空格. 
nameEle.value = nameVal;
//6. 把 nameVal 和 "" 进行比较, 若是 "" 说明只出入了空格, 弹出 "请输入内容"
//方法结束: return false
if(nameVal == ""){
alert("请输入内容");
return false;
}
//7. 创建 li 节点
var liNode = document.createElement("li");
//8. 利用 nameVal 创建文本节点
var content = document.createTextNode(nameVal);
//9. 把 8 加为 7 的子节点
liNode.appendChild(content);
//11. 为新创建的 li 添加 onclick 响应函数
liNode.onclick = function(){
showContent(this);
}
//10. 把 7 加为选择的 type 对应的 ul 的子节点
document.getElementById(typeVal)
.appendChild(liNode);
//3. 在 onclick 响应函数的结尾处添加 return false, 就可以取消提交按钮的
//默认行为. 
return false;
}
}
</script>
</head>
<body>
<p>你喜欢哪个城市?</p>
<ul id="city">
<li id="bj">北京</li>
<li>上海</li>
<li>东京</li>
<li>首尔</li>
</ul>
<br><br>
<p>你喜欢哪款单机游戏?</p>
<ul id="game">
<li id="rl">红警</li>
<li>实况</li>
<li>极品飞车</li>
<li>魔兽</li>
</ul>
<br><br>
<form action="dom-7.html" name="myform">
<input type="radio" name="type" value="city">城市
<input type="radio" name="type" value="game">游戏
name: <input type="text" name="name"/>
<input type="submit" value="Submit" id="submit"/>
</form>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
wordpress之js库集合研究介绍
Aug 17 Javascript
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
PHP abstract与interface之间的区别
Nov 11 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
js格式化输入框内金额、银行卡号
Feb 01 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
Feb 16 Javascript
JS中JSON对象和String之间的互转及处理技巧
Apr 06 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
Aug 20 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
Vue 3自定义指令开发的相关总结
Jan 29 Vue.js
Bootstrap整体框架之JavaScript插件架构
Dec 15 #Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 #Javascript
Bootstrap整体框架之CSS12栅格系统
Dec 15 #Javascript
Bootstrap CSS布局之列表
Dec 15 #Javascript
BootStrap整体框架之基础布局组件
Dec 15 #Javascript
JS弹性运动实现方法分析
Dec 15 #Javascript
JS经典正则表达式笔试题汇总
Dec 15 #Javascript
You might like
php实现mysql同步的实现方法
2009/10/21 PHP
PHP安全性漫谈
2012/06/28 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
php实现文件预览功能
2017/05/23 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
js原生日历的实例(推荐)
2017/10/31 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
layui实现数据分页功能
2019/07/27 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
Python函数中定义参数的四种方式
2014/11/30 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python3内置模块random随机方法小结
2019/07/13 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
秘书专业自荐信范文
2013/12/26 职场文书
公司停电通知
2015/04/15 职场文书
通过Python把学姐照片做成拼图游戏
2022/02/15 Python