jquery 动态添加和删除 ul li列表
今天需要实现一个jquery动态添加和删除 ul li列表中的li行,自己简单的实现乐一个,分享一下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery add/remove ul li</title> <style type="text/css">
#nav{width:1000px;height:450px;border-top:# 2px solid;margin-top:10px;border-bottom:# 2px solid;background-color:#;margin-left:50px;}
#nav ul{list-style:none;line-height:40px;}
#nav li{display:block;float:left;padding:15px;line-height:50px;}
#nav a{display:block;color:#fff;text-decoration:none;padding:0px;}
#nav a:hover{background-color:#;}
input {margin-top:10px;margin-left:50px;width:100px;height:50px;font-size:15px;}
</style> <script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
//按钮的点击事件,每次点击的时候动态的创建一个 li对象,jquery直接通过 ul对象的id,使用 append 方法 动态的把li添加到ul里面
$("#addButton").bind("click",function(){
var google = Math.random();
var msg = "<li><a href='javascript:void(0)'>删我</a><span style='color:yellow;'>" + google + "</span></li>";
$("#colist").append(msg);
//每次添加万一个元素后,都会给改li绑定移除事件
bindListener();
});
//
function bindListener(){
//给所有的 ul li重新绑定移除事件
$("#colist li a").unbind().click(function(){
//直接通过.remove() 方法移除掉li元素,页面自动就会刷新
$(this).parent().remove();
});
}
//jquery 检索ul li的所有元素
$("#collect").click(function(){
var data = "";
$("#nav").find("ul li span").each(function(index,value){
data += $(this).text() + "|";
})
alert(data);
})
})
</script> </head> <body> <div id="nav">
<ul id="colist">
</ul>
</div> <input type="button" value="通过jquery动态添加一个心的li" id="addButton" />
<input type="button" value="查询所有的li信息" id="collect" /> </body>
</html>
上面是一个简单的测试例子,下面是项目中实际使用的例子
对应的js方法
<script>
function addTocustom(appid)
{
//这里remove 改行,然后保存数据库
//父页面刷新定制窗口,重新加载
//window.parent.backclose();
$("#show_"+appid).parent().parent().parent().remove(); }
</script>
对应的div ul li的代码,点击添加按钮后 ,会把该行数据添加到别的页面,并删除改行数据
<div id="entrance" class="entrance">
<c:if test="${!(empty appList)}">
<c:set var="count" value=""></c:set>
<ul class="entrance-appsnew-list">
<c:forEach var="item" items="${appList}">
<li class="entrance-appsnew-item">
<a target="_blank" href="${item.APP_URL}" title="${item.APP_NAME}" >
<img class="entrance-appsnew-icon" id="PIC_SHOW" onerror="this.src='${fn:getLink('manage/img/app/large-default.png')}'" src="${fn:getLink('appImageShow.do')}?type=app&picId=${item.picLib.PIC_ID}"/>
</a>
<div class="entrance-appsnew-cont"">
<div class="entrance-appsnew-title">
<h3 class="txt">
<a target="_blank" title="${item.APP_NAME}" href="${item.APP_URL}" >${item.APP_NAME}</a>
</h3>
<span class="cfont count show${item.APP_ID}" id="show_${item.APP_ID}"><a href="javascript:addTocustom('${item.APP_ID}')">添加</a></span>
</div>
</div>
</li>
<c:set var="count" value="${count+1 }"></c:set>
</c:forEach>
</ul>
</c:if>
</div>
jquery 动态添加和删除 ul li列表的更多相关文章
- 利用jquery动态添加和删除表格的一行,并且保存单行数据
开发时遇到一个需求:要求要在页面的表格可以添加和删除一行,并能填写对应的数据后保存这一行数据. HTML代码 界面使用了freemarker框架,teams是后台传过来的list类型数据 <fo ...
- jQuery动态添加、删除按钮及input输入框
输入框的加减实现: <html> <head> <meta charset="utf-8"> <title>动态创建按钮</t ...
- jQuery动态添加和删除表格行
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- jQuery 动态添加、删除css样式
1.addClass css中: <style type="text/css"> .chColor {background: #267cb7;color:w ...
- jQuery动态添加删除select项
// 添加 function col_add() { var selObj = $("#mySelect"); var value="value"; var t ...
- jQuery如何动态添加具有删除按钮的行
代码实例如下: <!DOCTYPE html><html><head><meta charset=" utf-8"><meta ...
- jquery动态添加删除div--事件绑定,对象克隆
我想做一个可以动态添加删除div的功能.中间遇到一个问题,最后在manong123.com开发文摘 版主的热心帮助下解答了(答案在最后) 使用到的jquery方法和思想就是:事件的绑定和销毁(unbi ...
- jQuery动态添加删除CSS样式
jQuery框架提供了两个CSS样式操作方法,一个是追加样式addClass,一个是移除样式removeClass,下面通过一个小例子讲解用法. jQuery动态追加移除CSS样式 <!DOCT ...
- JQuery动态添加控件并取值
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- iOS 常用开源代码整理
本文章不定期整理. 1.AFNetworking AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功 ...
- USACO Party Lamps 【Binary code solvution】【规律】
写这道题目的时候遇到了一个令人诧异的问题,就是平台上跑来的结果和我本机跑起来的结果不一样. 后来Debug了之后才发现是我数组开小了,只开到100 的数组竟然都去访问他170位的地址肯定要跪成翔啊.. ...
- CodeForces 225C Barcode DP
也是一道dp ,想到了就会觉得很巧妙 矩阵中只有白块和黑块,要求repaint后满足下述条件: 每列一种颜色 根据输入范围x, y 要求条纹宽度在[x, y] 之间 数据范围: n, m, x and ...
- 开发快很重要——如果只看法语或者产品结果C++似乎很强大,但是参与这个C++的开发过程,就会感觉到这种痛苦(Google也是这个看法)
开发快很重要——如果只看语法或者产品结果C++似乎很强大,但是参与这个C++的开发过程,就会感觉到这种痛苦,太慢了,太麻烦了,虽然在反复调试和优化之后,最后产品的结果可能还不错. Delphi的最大特 ...
- linux学习: sudo命令(ubuntu)
使用 sudo 命令可以提高命令的执行权限,以root权限执行 如 : sudo vi xxx 但是有些内置命令 如 cd 无法通过 sudo来执行 ,如 sudo cd xxx 这是会报错的. ...
- java入门(1) 程序运行机制及运行过程
首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. ...
- android蓝牙的调试(博通蓝牙工作 and 低功耗模式)
首先结合项目从整体上去把握这部分: 蓝牙模块中一个比较核心的文件是bluetooth.c, 在我们上电的时候, 会调用这个文件中bt_enable()这个函数, 在这个函数里面先调用set_bluet ...
- 使用gson(一)
1.数组和json的转换 package com.test.gson; import com.google.gson.Gson; public class ArrayToJson { public s ...
- c# 课堂总结6 --集合与结构体
一.集合 使用时必须添加 System.Collections 集合与数组的区别: 1:数组声明了它容纳的元素的类型,而集合不声明.这是由于集合以object形式来存储它们的元素.初始化时集合无需定义 ...
- IOS SWIFT 简单操作文件
//Home目录 let homeDirectory = NSHomeDirectory() //Documents目录 苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备 ...