JavaScript项目总结一
1.类选择其下,第一个
$('selector').first()==$('selector:first')==$('selector:eq(0)')
2.如果要选择非第一个
$('selector:eq(n)')
3.Dom对象添加事件(比较随意)和JQuery 对象添加事件不一样(建议用on)
Dom.onClick=function(e){}
$('selector').on('click',function(){})
4.DOM 遍历是昂贵的,所以尽量将会重用的元素缓存
$this=$(this)
5.使用 jQuery 中的方法缺少经验,需要查看的文档,有一个更好或更快的方法
$('#id').data(key,value)
//改成(高效)
$.data('#id',key,value)
6.建议申明的全剧变量和调用时采用
window.global
7.鼠标点击其他地方收起“下拉框”
$('body').click(function(e)
{
if (e.target.id != 'regionLabel' + pageIndex + ''&& e.target.id != 'regionSelectBox' + pageIndex+ '')
{
if (!$('#regionSelectBox' + pageIndex + '').hasClass('hide'))
{
$('#regionSelectBox' + pageIndex + '').addClass('hide');
$('#toggleRegionSelectBox' + pageIndex + '').removeClass('invert');
}
}
});
8. toggleClass() 对设置或移除被选元素的一个或多个类进行切换。
该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果。
9. 同辈.siblings()
$(this).addClass('ant-btn-primary').siblings().removeClass('ant-btn-primary');
10.去空
$(this).text().trim();
11.函数结束时紧跟的一对圆括号说明这个函数定以后立即执行
12.在JQuery中,先去空,利用$(this).text().trim();接着进行if判断时,最好把==换成indexOF模糊匹配
13.检测CSS类,hasClass只能接受单个类名作为参数,并且不支持函数参数,is()方法更灵活,可以用来做同样的事。
$('p').hasClass('className')
$('#id').is('.className')
$('#id').is('.classOne.classTwo')
14.数组去重
Array.prototype.unique=function(){
var result=[];
var json={};
for (var i = 0; i < this.length; i++) {
if (!json[this[i]]) {
result.push(this[i]);
json[this[i]]=1;
}
}
return result;
};
//调用
arr.unique();
15.防止点击事件冒泡(冒泡到祖、父类,因为它们可能也有点击事件)
//下面的方法可以借鉴:用户组成动态生成Table,特别是join() 方法用于把数组中的所有元素放入一个字符串。arrayObject.join(separator)
initE2XNeighborTable: function(){
var $table = $('#tableEx2Neighbor').empty();
var ring = $('#configAccessRing').val();
var list = NEIGHBOR_INFO[ring];
var thead = [
'<tr>',
'<th>pCell</th>',
'<th>sCell</th>',
'<th>No. of pCell Edge Users</th>',
'<th>No. of Scell Edge Users</th>',
'<th>No. of Neighboring Cells</th>',
'</tr>'
].join('');
var tbody = '';
$.each(list, function(i, row){
tbody += [
'<tr>',
'<td>' + row.pCell + '</td>',
'<td>' + row.sCell + '</td>',
'<td>' + row.pCellUser + '</td>',
'<td>' + row.sCellUser + '</td>',
'<td>' + row.neighborNum + '</td>',
'</tr>'
].join('');
});
$table.append(thead + tbody);
},
JavaScript项目总结一的更多相关文章
- 把VSO作为GitHub上JavaScript项目的免费CI服务器
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软变得更加开放后,走向开放的不仅有.NET运行时.IDE工具,还有ALM服务器核心组 ...
- JavaScript 项目构建工具 Grunt 实践:安装和创建项目框架
Grunt 是一个基于任务的 JavaScript 项目命令行构建工具,运行于 Node.js 平台.Grunt 能够从模板快速创建项目,合并.压缩和校验 CSS & JS 文件,运行单元测 ...
- Windows Store Javascript项目使用高德地图、谷歌地图、百度地图API
原文 Windows Store Javascript项目使用高德地图.谷歌地图.百度地图API 在Win8 Store 项目中可以使用的地图主要有微软的Bing Map,目前高德地图sdk也支持Wi ...
- Win10系列:JavaScript 项目模板和项模板
使用Visual Studio 开发Windows应用商店应用时,通过其提供的模板可以帮助我们快速地创建一个应用.其中,在新建一个Windows应用商店应用程序项目时可以在项目模板中选择所需要的模板类 ...
- GitHub上最流行的Top 10 JavaScript项目
统计出Github中所有项目的数量,几乎是不可能的,而明确指出哪些是最优秀的项目就更不可能了.如果说到JavaScript,曾经极富创新的项目(很可能)在一两个月后就会变得过时.落后.以防被淹没在大量 ...
- webpack前置知识2(JavaScript项目初始化)
所有的JavaScript项目都是在终端输入npm init -y进行项目初始化,如果要自定义项目规则,去掉 -y 参数. vscode终端快捷键ctrl+` 初始化 运行上述命令后,项目内会新建一个 ...
- 如何在TypeScript/JavaScript项目里引入MD5校验和
摘要:MD5校验和则是其中一种数学算法,通常是使用工具对文件计算得出的一组32 个字符的十六进制字母和数字. 本文分享自华为云社区<TypeScript/JavaScript项目里如何做MD5校 ...
- javascript项目实战之原生js模拟淘宝购物车
通过JavaScript实现类似与淘宝的购物车效果,包括商品的单选.全选.删除.修改数量.价格计算.数目计算.预览等功能的实现.实现的效果图: 相应的代码: shoppingCart.html < ...
- Win10系列:JavaScript 项目模板中的文件和项模板文件
通过上面内容的学习,相信读者已经对各种项目模板和项模板有了大致的了解,本节将进一步介绍项目模板中默认包含的项目文件以及项模板文件,首先讲解这些文件中的初始内容以及作用,然后介绍在一个页面中如何添加控件 ...
- 实用篇:说说我在JavaScript项目中使用的工具类
在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * ...
随机推荐
- Python【每日一问】26
问: [基础题]:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数 [提高题]:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第 10 次落地时,共经过多 ...
- StringTable
首先看这样一个面试题 // StringTable [ "a", "b" ,"ab" ] hashtable 结构,不能扩容 public ...
- HDU校赛 | 2019 Multi-University Training Contest 3
2019 Multi-University Training Contest 3 http://acm.hdu.edu.cn/contests/contest_show.php?cid=850 100 ...
- ssh tunneling应用案例-AWS EC2 vnc图形化桌面的支持
一般地,无论是AWS EC2还是阿里云的云主机,linux系统默认都只提供ssh登录方式.如果你是一个技术控,非常希望把图形化界面给折腾出来,这其中就不需有vnc server的支持,除此之外,还涉及 ...
- 新版GRANAFA K8S插件 K8S NODE 图表不显示问题解决方法
原文:https://www.wchao.site/archives/granafa-k8s 其他参考:https://blog.csdn.net/bbwangj/article/details/82 ...
- Lumen 使用事件需要注意的事项
Lumen 版本 5.2 参考手册 laravel event 需要注意的事项 如果是第一次在lumen下使用事件,需要修改bootstrap\app.php文件 添加对EventServicePro ...
- Linux环境下:vmware安装Windows报错误-无人参与应答文件包含的产品密钥无效
最近在安装window server 2012 R2的时候,输入好密钥可以继续安装,但在后面又提示我“无人参与应答文件包含的产品密钥无效.删除无效的密钥或在无人参与应答文件中提供有效的产品密钥继续进行 ...
- 2019-08-02 原生ajax搜索
<html> <meta charset="utf-8"/> <head><title>搜索页</title></ ...
- WinExec, ShellExecute,CreateProcess 区别
其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂. WinExec 有两个参数,前一个指定路径,后一个指定显示方式. ShellExe ...
- django子应用
在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该 ...