js实现动态添加删除(留言板)

介绍:仿照留言板写一个类似的实例,具有添加、删除的简单功能

思路:点击发布按钮,利用DOM操作进行元素添加【appendChild()】,点击删除按钮,利用DOM找到父节点,进行删除【removeChild()】

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        .liuyan{width: 70%;height: 150px;box-sizing: border-box;border: 1px dashed aqua;margin-bottom: 15px;}
        .pic{width: 150px;height: 150px;float: left;}
        .text{width:400px;height: 150px;float: left;}
        .delete{height: 150px;float: left;}
    </style>
</head>
<body>
    <div id="demo" style="width: 65%;margin: 0 auto;">
        <div>
            <textarea rows="6" cols="80" id="content"></textarea>
            <button id="submit">发布</button>
        </div>

        <div class="liuyan">
            <div class="pic"><img src="img/703.jpg" width="150" height="150"></div>
            <div class="text">努力学习,让学习成为一种习惯</div>
            <div class="delete"><input type="button" name="del" value="删除" onclick="del(this)"></div>
        </div>
        <div style="clear: both;"></div>

    </div>

    <script>
        var demo = document.getElementById(‘demo‘);
        var submit = document.getElementById(‘submit‘);
        submit.addEventListener(‘click‘,add);

        function add(){
            var content = document.getElementById(‘content‘).value;
            var div = document.createElement(‘div‘);
            div.setAttribute(‘class‘,‘liuyan‘);
            //
            var div1 = document.createElement(‘div‘);
            var div2 = document.createElement(‘div‘);
            var div3 = document.createElement(‘div‘);
            div1.setAttribute(‘class‘,‘pic‘);
            div2.setAttribute(‘class‘,‘text‘);
            div3.setAttribute(‘class‘,‘delete‘);
            div.appendChild(div1);
            div.appendChild(div2);
            div.appendChild(div3);
            //
            var img = document.createElement(‘img‘);
            img.setAttribute(‘src‘,‘img/703.jpg‘);
            img.setAttribute(‘width‘,‘150‘);
            img.setAttribute(‘height‘,‘150‘);
            div1.appendChild(img);
            //
            var del = document.createElement(‘input‘);
            del.setAttribute(‘type‘,‘button‘);
            del.setAttribute(‘name‘,‘del‘);
            del.setAttribute(‘value‘,‘删除‘);
            del.setAttribute(‘onclick‘,‘del(this)‘);
            div3.appendChild(del);
            //
            div2.innerHTML = content;
            demo.appendChild(div);
            alert(‘发布成功‘);
        }
        function del(obj){
            var del = obj.parentNode;
            var liuyan = del.parentNode;
            var demo = liuyan.parentNode;
            demo.removeChild(liuyan);
        }
    </script>
</body>
</html>

原文地址:https://www.cnblogs.com/whs5280/p/9750771.html

时间: 2024-08-28 02:58:46

js实现动态添加删除(留言板)的相关文章

Js实现动态添加删除Table行示例

<table cellpadding="0" cellspacing="0" border="1" style="margin:auto; width:96%;" id="LearnInfoItem"> <tr > <td colspan="8" bgcolor="#96E0E2" style="height:30px;&quo

js实现网页收藏功能,动态添加删除网址

<html> <head> <title> 动态添加删除网址 </title> <meta charset="utf-8"> <script> function add(){ var name = document.getElementById("name").value; var url = document.getElementById("url").value; var

Jquery 动态添加删除元素 用js添加的元素无法删除问题

用jquery方法的绑定侦听和销毁来解决动态div的增加删除: 正确代码: <script type="text/javascript" > $(document).ready(function(){  bindListener(); }) function addimg(){  $("#mdiv").append('<div ><input type="file" name="img[]" /&

jquery动态添加删除一行数据

<html> <head> <title>添加.删除一行</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>

js 如何动态添加数组_百度知道

1.数组的创建var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外

编辑 Ext 表格(一)——— 动态添加删除行列

一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行  gridStore.add({}); (2) 动态删除表格的行 gridStore.removeAt(gridStore.count() - 1); 二.动态增删列 在 ext 表格中,动态添加列主要通过修改表格绑定的 column 元素, 通过对 column 元素集进行添加或删除,然后重新渲染表格,就能实现表

jquery动态添加删除div--事件绑定,对象克隆

我想做一个可以动态添加删除div的功能.中间遇到一个问题,最后在phpchina问答区版主的热心帮助下解答了(答案在最后)        使用到的jquery方法和思想就是:事件的绑定和销毁(unbind),另外还可以使用clone,通过克隆可以很好的解决这个问题          相关描述如下 功能:点击增加,自动添加一个iptdiv 点击 iptdiv后的 X 自动删除当前div 问题:默认存在的(也就是页面加载进来的)的那个iptdiv 后的 X 点击有效,可以删除当前 iptdiv  但

Hadoop动态添加/删除节点(datanode和tacktracker)

总的来说,正确的做法是优先通过配置文件,再在具体机器上进行相应进程的启动/停止操作. 网上一些资料说在调整配置文件的时候,优先使用主机名而不是IP进行配置. 总的来说添加/删除DataNode和TaskTracker的方法非常相似,只是操作的配置项和使用的命令有微小差异. 1. DataNode 1.0 配置文件 在master/namenode下修改配置文件conf/mapred-site.xml. 关键参数dfs.hosts和dfs.hosts.exclude. 注意:不同hadoop版本的

安卓动态添加删除多个控件

新手上路,没找到动态添加删除多个控件,捣鼓了个,做错的地方麻烦大家说下 activity_main.xml: <Button        android:id="@+id/add"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="myclick"