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


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 相关文章推荐
jQuery 1.0.4 - New Wave Javascript(js源文件)
Jan 15 Javascript
自编jQuery插件实现模拟alert和confirm
Sep 01 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
Feb 27 Javascript
JavaScript脚本判断蜘蛛来源的方法
Sep 22 Javascript
原生javascript实现addClass,removeClass,hasClass函数
Feb 25 Javascript
JavaScript接口的实现三种方式(推荐)
Jun 14 Javascript
artDialog+plupload实现多文件上传
Jul 19 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
React diff算法的实现示例
Apr 20 Javascript
微信小程序自定义导航栏
Dec 31 Javascript
angular共享依赖的解决方案分享
Oct 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
党员思想汇报范文
2013/12/30 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
校园文明标语
2014/06/13 职场文书
霸气队列口号
2014/06/18 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
工程索赔意向书
2014/08/30 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
个人德育工作总结
2015/03/05 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
MySQL如何解决幻读问题
2021/08/07 MySQL
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS