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


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 相关文章推荐
一些易混淆且不常用的属性,希望有用
Jan 29 Javascript
Prototype使用指南之selector.js说明
Oct 26 Javascript
JS 有名函数表达式全面解析
Mar 19 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
jQuery的deferred对象使用详解
Aug 20 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 Javascript
javascript时间自动刷新实现原理与步骤
Jan 06 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
Apr 24 Javascript
基于bootstrap3和jquery的分页插件
Jul 31 Javascript
Javascript基于AJAX回调函数传递参数实例分析
Dec 15 Javascript
js实现密码强度检验
Jan 15 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修改Linux或Unix口令的方法分享
2012/01/30 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
PHP多态代码实例
2015/06/26 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
javascript 必知必会之closure
2009/09/21 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
小程序实现留言板
2018/11/02 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python中几种自动微分库解析
2019/08/29 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
公司开业庆典策划方案
2014/06/04 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
倡议书作文
2015/01/19 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
python中pycryto实现数据加密
2022/04/29 Python
Java中的Kotlin 内部类原理
2022/06/16 Java/Android