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 排序算法
排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个对象呢?直接比较数学上的大小是没有意义的,因此,比较的 ...
随机推荐
- 使用Eclipse创建的第一个javabean,cannot resolved to a type
第一个原因是我没有把eclipse编译好的class文件放在项目的build文件夹中的(我创建的是dynamic web project),你要把/build/classes/文件夹给合并到WebCo ...
- Python 并行分布式框架 Celery
Celery 简介 除了redis,还可以使用另外一个神器---Celery.Celery是一个异步任务的调度工具. Celery 是 Distributed Task Queue,分布式任务队列,分 ...
- dvwa 源码分析(三) --- config.inc.php分析
<?php # If you are having problems connecting to the MySQL database and all of the variables belo ...
- MyEclipse9.0激活步骤
MyEclipse 9.0的激活机制 1.破解公钥(确保MyEclipse没有开启,否则失败!) 解压破解包中的myeclipse9_keygen_activator.zip,复制publicKe ...
- 一款基于TweenMax.js的网页幻灯片
之前介绍了好多网页幻灯片.今天给大家带来一款基于TweenMax.js的网页幻灯片.这款幻灯片以不规则的碎片百叶窗的形式切换.切换效果非常漂亮.一起看下效果图: 在线预览 源码下载 实现的代码. ...
- c#写一个网站后台扫描器
主要分成了那么几个步骤: 1.HTTP状态码 2.字典的导入 3.显示在listview控件当中 第一步: 先来实现HTTP状态码200的判断 try { req = (HttpWebRequest) ...
- Linux 系统串口信息查看
先确认系统启动的时候串口的信息. ECM_5412@chenfl:~$ dmesg | grep tty [ 0.000000] console [tty0] enabled [ 2.511678] ...
- Linux 完整的修改用户名,用户组的方法记录
今天将虚拟机内所有的用户都是统一规划自己的名字,方便识别操作,特记录相关修改Linux 用户名以及修改用户组的方法 第一种方式,直接改相关文件: /etc/passwd 如图所示,改为自己想用户名,描 ...
- Android各版本重要变动记录
本文来自同步博客. Android M:运行时权限 运行时权限属于比较熟悉的话题不深入展开.除了support包可以让应用完成运行时权限,github上也有好多扩展.用得比较多的是Google官方的E ...
- 我的mac的其他满了,发现是一个叫core的文件
6Q12KFX%PDARS7B{B__OZVW.jpg (97.93 KB, 下载次数: 0) 下载附件 保存到相册 2014-7-3 15:40 上传 如图,电脑虽然买了半年但是基本没怎么用, ...