<!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>

JavaScript添加、查找、删除元素的一个实例的更多相关文章

  1. JavaScript向select下拉框中添加和删除元素

    JavaScript向select下拉框中添加和删除元素 1.说明 a   利用append()方法向下拉框中添加元素 b   利用remove()方法移除下拉框中最后一个元素 2.设计源码 < ...

  2. javascript数组在指定位置添加和删除元素

    在JavaScript中,Array对象提供了一个强大的splice()方法,利用这个方法可以达到在数组的指定位置添加和删除元素的目的. 指定位置删除元素 要在指定位置删除元素,可以使用splice( ...

  3. 顺序表添加与删除元素以及 php实现顺序表实例

    对顺序表的操作,添加与删除元素. 增加元素 如下图所示  对顺序列表 Li [1328,693,2529,254]  添加一个元素 111 ,有三种方式: a)尾部端插入元素,时间复杂度O(1);  ...

  4. Arrays.asList () 不可添加或删除元素的原因

    Java中奖数组转换为List<T>容器有一个很方便的方法 Arrays.asList(T ... a),我通过此方法给容器进行了赋值操作,接着对其进行 添加元素,却发现会抛出一个(jav ...

  5. js进阶 9-11 select选项框如何动态添加和删除元素

    js进阶 9-11 select选项框如何动态添加和删除元素 一.总结 一句话总结: 二.js进阶 9-11 select选项框如何动态添加和删除元素 1.案例说明 2.相关知识 Select 下拉列 ...

  6. 4. 理解Update、Enter、Exit 与 添加、删除元素

    理解Update.Enter.Exit 与 添加.删除元素 在使用data()绑定数据时,例如:现在我们有一个数组[3,6,9,12,15],我们可以将数组每一项与一个<p>绑定,但是,现 ...

  7. jQuery_添加与删除元素

    一.jQuery添加元素(通过 jQuery,可以很容易地添加新元素/内容.) 1.添加新的 HTML 内容,用于添加新内容的四个 jQuery 方法(都能解析HTML标签): append() - ...

  8. (转载)php数组添加、删除元素的方法

    (转载)http://www.phpgs.com/html/php/phpjichu/20120130440.html 带来一篇php 数组 添加元素.删除元素的方法的文章,有需要的php学习者参考下 ...

  9. js数组添加或删除元素

    var arr = new Array(); arr[] = "aaa"; arr[] = "bbb"; arr[] = "ccc"; ar ...

随机推荐

  1. 通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手

    TCP建立连接时,为什么要进行三次挥手? 每一次TCP连接都需要三个阶段:连接建立.数据传送和连接释放.三次握手就发生在连接建立阶段. 在谢希仁著<计算机网络>第四版中讲三次握手的目的是为 ...

  2. js中typeof的使用方法

    typeof在js中是一个一元操作符,可以判断操作数的类型,其返回值为字符串,有number.string.object.boolean.function.undefined.使用方式可以是typeo ...

  3. TestNG官方文档中文版(1)-介绍

    TestNG的官方文档请见: http://testng.org/doc/documentation-main.html 1. 介绍    TestNG是一个设计用来简化广泛的测试需求的测试框架,从单 ...

  4. JavaScript对象(Object)

         JavaScript的简单数据类型包括数字.字符串.布尔值.null值和undefined值,其他所有的值都是对象.数字.字符串.布尔值“貌似”对象,因为他们拥有方法,但是他们是不可变的. ...

  5. Oracle 免费的数据库--Database 快捷版 11g 安装使用与"SOD框架"对Oracle的CodeFirst支持

    一.Oracle XE 数据库与连接工具安装使用 Oracle数据库历来以价格昂贵出名,当然贵有贵的道理,成为一个Oracle DBA也是令人羡慕的事情,如果程序员熟悉Oracle使用也有机会接触到大 ...

  6. 粒子动画Particleground.js

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 用node-webkit把web应用打包成桌面应用

    node-webkit是一个Chromium和node.js上的结合体,通过它我们可以把建立在chrome浏览器和node.js上的web应用打包成桌面应用,而且还可以跨平台的哦.很显然比起传统的桌面 ...

  8. 学习zepto.js(Hello World)

    Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 昨天听说了zepto.js,正好最近也比较闲 ...

  9. CAGradientLayer渐变效果

    属性 startPoint和endPoint 决定渐变方向,以单位坐标系定义.左上角{0,0},右下角{1,1} colors 渐变的颜色,是一个CGColorRef的数组. locations 定义 ...

  10. AndroidAnnotations简单示例

    @EActivity(R.layout.activity_main) public class MainActivity extends Activity { @ViewById(R.id.textV ...