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


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 相关文章推荐
自定义ExtJS控件之下拉树和下拉表格附源码
Oct 15 Javascript
JavaScript实现更改网页背景与字体颜色的方法
Feb 02 Javascript
JavaScript实现动画打开半透明提示层的方法
Apr 21 Javascript
JQuery的attr 与 val区别
Jun 12 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 Javascript
jQuery实现手势解锁密码特效
Aug 14 jQuery
JavaScript中var、let、const区别浅析
Jun 24 Javascript
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
js遍历详解(forEach, map, for, for...in, for...of)
Aug 28 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
Sep 02 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 Javascript
vue界面发送表情的实现代码
Sep 11 Javascript
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
第七节 类的静态成员 [7]
2006/10/09 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
js中更短的 Array 类型转换
2011/10/30 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Django 生成登陆验证码代码分享
2017/12/12 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
对python3新增的byte类型详解
2018/12/04 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
python之信息加密题目详解
2019/06/26 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
QML使用Python的函数过程解析
2019/09/26 Python
python3 mmh3安装及使用方法
2019/10/09 Python
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
罗技美国官网:Logitech美国
2020/01/22 全球购物
函数指针的定义是什么
2016/08/14 面试题
Structs界面控制层技术
2013/10/11 面试题
行政专员岗位职责
2014/01/02 职场文书
商场促销活动策划方案
2014/08/18 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
财产分割协议书
2016/03/22 职场文书
SQL写法--行行比较
2021/08/23 SQL Server
python运算符之与用户交互
2022/04/13 Python
MySQL主从切换的超详细步骤
2022/06/28 MySQL