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


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 相关文章推荐
脚本之家贴图转换+转贴工具用到的js代码超级推荐
Apr 05 Javascript
jQuery操作input type=radio的实现代码
Jun 14 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
Apr 28 Javascript
20行代码实现的一个CSS覆盖率测试脚本
Jul 07 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
Oct 31 Javascript
BootStrap制作导航条实例代码
May 06 Javascript
jQuery实现的模拟弹出窗口功能示例
Nov 24 Javascript
ES6新增数据结构WeakSet的用法详解
Aug 07 Javascript
js读取本地文件的实例
Dec 22 Javascript
Vue中的字符串模板的使用
May 17 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 Javascript
vue cli使用融云实现聊天功能的实例代码
Apr 19 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
PHP内存缓存Memcached类实例
2014/12/08 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
深入理解PHP中的count函数
2016/05/31 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
JavaScript类型转换方法及需要注意的问题小结(挺全面)
2010/11/11 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
JS作用域深度解析
2016/12/29 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vue实现购物车案例
2020/05/30 Javascript
Python下使用Psyco模块优化运行速度
2015/04/05 Python
django实现分页的方法
2015/05/26 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
python异常触发及自定义异常类解析
2019/08/06 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
于丹论语心得观后感
2015/06/15 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
HAM-2000摩机图
2021/04/22 无线电
如何使用flask将模型部署为服务
2021/05/13 Python
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS