javascript--枚举算法实现
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
//枚举算法--》穷举算法
window.onload=function () {
var aA=document.getElementsByTagName('a');//get A
var oUl=document.getElementById('uli');//get ul
var aLi=document.getElementsByTagName('li');//get li for (var i = 0; i < aA.length; i++) {//给A加入点击事件
aA[i].onclick=function () {//给每一个里加入点击事件
if(mj(this.innerHTML)){//没有同样的
var oLi=document.createElement('li');
oLi.innerHTML=this.innerHTML;
if(aLi[0]){
oUl.appendChild(oLi);//第一次显
}else{
oUl.insertBefore(oLi, aLi[0])//仅仅要点击即显示在最前面
} }else{//有同样的。不再显示
mj2(this.innerHTML);
}
};
};
function mj (text) {//推断是否存在相通的Li
var result=true;
for (var i = 0; i < aLi.length; i++) {
if(aLi[i].innerHTML==text){
result=false;
}
}; return result;
} function mj2 (text) {//存在同样的li时。将当前的Li加入在第一个位置!
for (var i = 0; i < aLi.length; i++) {
if(aLi[i].innerHTML==text){
oUl.insertBefore(aLi[i], aLi[0])
}
}; }
}
</script>
</head>
<body>
<a href="javascript:;">北京</a>
<a href="javascript:;">上海</a>
<a href="javascript:;">杭州</a>
<a href="javascript:;">天津</a>
<a href="javascript:;">武汉</a>
<a href="javascript:;">长沙</a>
<a href="javascript:;">广州</a>
<a href="javascript:;">神州</a> <ul id="uli">
</ul> </body>
</html>
1、点击当中一个。显示在最前面!
2、当点击第二次的时候。不再显示!!
javascript--枚举算法实现的更多相关文章
- 利用枚举算法实现todoList:把对应项添加的内容列表
功能: 点击城市列表项,如果内容列表不存在,则插入点击项: 如果内容列表中已存在,则不插入,然后把内容列表中的对应项放到第一位. HTML代码: <!DOCTYPE html> <h ...
- RX学习笔记:FreeCodeCamp的JavaScript基本算法挑战
FreeCodeCamp的JavaScript基本算法挑战 https://www.freecodecamp.com 2016-07-03 JavaScript还不是非常熟悉,用已经会的知识来解这些题 ...
- 枚举算法总结 coming~^.*
感谢CJ同学监督╭(╯^╰)╮.从放假到现在都木有更新博客了~噶呜~小娘谨记教诲,每天会更新博客==!! 看了一下POJ训练计划,虽然已经零零散散做了40多道题了,还是从头开始整理一下漏掉的知识点.T ...
- 【枚举Day1】20170529-2枚举算法专题练习 题目
20170529-2枚举算法专题练习 题解: http://www.cnblogs.com/ljc20020730/p/6918360.html 青岛二中日期 序号 题目名称 输入文件名 输出文件名 ...
- FCC的javascript初级算法题解答
FCC上的javascript基础算法题 前一阵子做的基础算法题,感觉做完后收获还蛮大的,现在将自己的做法总结出来,供大家参考讨论.基本上做到尽量简短有效,但有些算法还可以继续简化,比如第七题若采用正 ...
- javascript 冒泡排序算法
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- C++枚举算法
枚举算法 什么是枚举? 枚举,顾名思义,就是用最笨的方法,去解决问题(暴力枚举),一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数.这两种类型经常(但不总是)重叠. 枚举 ...
- JavaScript 排序算法——快速排序
常见排序 javaScript 实现的常见排序算法有:冒泡排序.选择排序.插入排序.谢尔排序.快速排序(递归).快速排序(堆栈).归并排序.堆排序. 过程 "快速排序"的思想很简单 ...
- JavaScript 排序算法(JavaScript sorting algorithms)
JavaScrip 排序算法(JavaScript Sorting Algorithms) 基础构造函数 以下几种排序算法做为方法放在构造函数里. function ArrayList () { va ...
- JavaScript 排序算法
排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个对象呢?直接比较数学上的大小是没有意义的,因此,比较的 ...
随机推荐
- 前端面试题 -- JS篇
前端面试题 -- JS篇 类型 1.js中有哪些数据类型,并解释清楚原始数据类型和引用数据类型 js中共有null,undefined, string,number,boolean,object六种数 ...
- struts2文件下载的编写步骤(文件导出)和输入流转换的方法
strut2文件下载三部曲:一个流.两个头信息 说明: ①一个流,在Action中需要一个getInputStream()的方法来获取下载的内容,其中inputStream是默认的,他会指示Strea ...
- Tomcat: Could not clean server of obsolete files
<Context path="/mldn" docBase="E:/web.workspace/mldndemo/WebContent" reloadab ...
- 在WEB开发的时候导入各种jar包
使用eclipse导入很简单 右击你的project,选择properties,然后选择java build path,接着选择libraries,点击add external jars即可 如果你还 ...
- iOSGCD的使用以及死锁的问题
死锁一直都是在使用多线程时,需要注意的一个问题.以前对同步.异步,串行.并行只有一个模糊的概念,想想也是时候整理一下了.再看看之前的博客,已经很久没有干货了[说得好像之前有干货一样],所以,这篇博客, ...
- c++犯过的错
1.可访问性(是否可用).可见性(作用域内是否存在) 2.volatile(嵌入式用的多) const 3.友元函数可以访问类的私有函数 目的 工厂方法 全局运算符 如 >> <&l ...
- Linux 下 ps 命令
简述 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,动态的显示进程信息 ...
- 【Unity笔记】鼠标射线由指定层接收
LayerMask mask = << LayerMask.NameToLayer("UI"); Ray ray = Camera.main.ScreenPointTo ...
- 【C#】时间日期格式转换:long和DateTime相互转换
// DateTime --> long public static long ConvertDateTimeToLong(DateTime dt) { DateTime dtStart = T ...
- nand ECC 算法记录
nandflash ECC 原理记录. nand ECC 全称是Error Checking and correction. 该算法分为列校验和行校验. 列校验有下图所示: * 如上图所示, CP0 ...