JavaScript实现添加、查找、删除元素


Posted in Javascript onJuly 02, 2015

代码很简单,这里就不多废话了。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试文件</title>
<style>
.reply {
  width: 500px;
  height: 100%;
  overflow: hidden;
  background-color:#CCC;
  margin-top: 10px;
}
.infoArea {
  width: 380px;
  height: 100%;
  overflow: hidden;
}
.words {
  width: 380px;
  height: auto;
  margin: 5px 0px;
  float: left;
  font-size: 14px;
}
.time {
  margin-left: 10px;
  margin-bottom: 3px;
  width: 150px;
  height: 20px;
  line-height: 20px;
  float: left;
  font-family: 楷体;
  font-size: 14px;
  color: #999;
}
.replyButton {
  width: 60px;
  height: 20px;
  float: left;
  margin-bottom: 10px;
}
.replyButton input {
  font-size: 12px;
}
#cancelButton {
  visibility: hidden;
}
</style>
</head>

<body>
<div class="reply">
 <div class="infoArea">
  <div class="words"><a href="">中央情报局</a>:中央情报局</div>
  <div class="time">2014年5月4日21:56</div>
  <div class="replyButton">
   <input type="button" id="submitButton" value="回复" onClick="showReplyArea(this)" />
  </div>
  <div class="replyButton">
   <input type="button" id="cancelButton" value="取消" onClick="hideReplyArea(this)" />
  </div>
 </div>
</div>
<script>
//显示文本框的函数
function showReplyArea(src)
{
  inputText = document.createElement("DIV");
  inputText.className = "inputText";
  inputText.style.width = '100%';
  inputText.style.height = '75px';
  inputText.style.margin = '3px 0';
  inputText.style.cssFloat = 'left';
  
  var grandfather = src.parentNode.parentNode.parentNode;
  grandfather.appendChild(inputText);
  
  form1 = document.createElement("FORM");
  form1.action = "";
  form1.method = "post";
  inputText.appendChild(form1);
  
  inputTextArea = document.createElement("TEXTAREA");
  inputTextArea.style.width = '380px';
  inputTextArea.style.height = '40px';
  inputTextArea.style.marginLeft = '60px';
  inputTextArea.style.marginTop = '3px';
  inputTextArea.style.cssFloat = 'left';
  inputTextArea.style.resize = 'none';
  
  textSubmit = document.createElement("INPUT");
  textSubmit.type = 'submit';
  textSubmit.value = '提交';
  textSubmit.style.marginLeft = '80px';
  textSubmit.style.cssFloat = 'left';
  
  form1.appendChild(inputTextArea);
  form1.appendChild(textSubmit);
  
  cancelButton = grandfather.getElementsByTagName("INPUT").item(1);
  cancelButton.style.visibility = 'visible';
  submitButton = src;
  submitButton.disabled = true;
}
//隐藏文本框的函数
function hideReplyArea(src)
{
  var grandfather = src.parentNode.parentNode.parentNode;
  var inputText = grandfather.getElementsByClassName('inputText').item(0);
  grandfather.removeChild(inputText);
  
  cancelButton = src;
  cancelButton.style.visibility = 'hidden';
  submitButton = grandfather.getElementsByTagName("INPUT").item(0);
  submitButton.disabled = false;
}

//下面为调试时测试用函数,做完后就没用了,但也是很经典的一段代码,就留在这里了。
function showNode()
{
  var i = 4;
  submitButton = document.getElementById('submitButton');
  i = submitButton.parentNode.parentNode.getElementsByTagName("INPUT").item(1).value;
  alert(i);
}
</script>
</body>
</html>

示例二:

window.onload = function(){ 
var gaga = document.getElementById( "gaga" ); 
addClass( gaga,"gaga1" ) 
addClass( gaga,"gaxx" ); 
removeClass( gaga,"gaga1" ) 
removeClass( gaga,"gaga" ) 
function hasClass( elements,cName ){ 
return !!elements.className.match( new RegExp( "(\\s|^)" + cName + "(\\s|$)") ); // ( \\s|^ ) 判断前面是否有空格 (\\s | $ )判断后面是否有空格 两个感叹号为转换为布尔值 以方便做判断 
}; 
function addClass( elements,cName ){ 
if( !hasClass( elements,cName ) ){ 
elements.className += " " + cName; 
}; 
}; 
function removeClass( elements,cName ){ 
if( hasClass( elements,cName ) ){ 
elements.className = elements.className.replace( new RegExp( "(\\s|^)" + cName + "(\\s|$)" )," " ); // replace方法是替换 
}; 
}; 
};

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
Javascript 中的类和闭包
Jan 08 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
常用一些Javascript判断函数
Aug 14 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
Jan 20 Javascript
JQuery实现表格中相同单元格合并示例代码
Jun 26 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
Jul 07 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 Javascript
get  post jsonp三种数据交互形式实例详解
Aug 25 Javascript
详解webpack编译多页面vue项目的配置问题
Dec 11 Javascript
在vue 中使用 less的教程详解
Sep 26 Javascript
vue-cli中vue本地实现跨域调试接口
Jan 16 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 #Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
Jul 02 #Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 #Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 #Javascript
javascript获取select值的方法分析
Jul 02 #Javascript
JavaScript获取并更改input标签name属性的方法
Jul 02 #Javascript
JavaScript实现广告的关闭与显示效果实例
Jul 02 #Javascript
You might like
php判断用户是否关注微信公众号
2016/07/22 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
php压缩文件夹最新版
2018/07/18 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
解放web程序员的输入验证
2006/10/06 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
js实现每日签到功能
2018/11/29 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
JSX在render函数中的应用详解
2019/09/04 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
在Python的循环体中使用else语句的方法
2015/03/30 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
python中__slots__用法实例
2015/06/04 Python
python实现简单socket通信的方法
2016/04/19 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
电子商务毕业生求职信
2013/11/10 职场文书
高中军训感言400字
2014/02/24 职场文书
和解协议书
2014/04/16 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
MySQL数据库 任意ip连接方法
2022/05/20 MySQL