40、选择器组合

逗号是多选择器
空格 是子子孙孙
尖括号 只找儿子

39、失去焦点事件blur

$("input").blur(function(){
$("input").css("background-color","#D6D6FF");
});

38、图片延迟加载

Lozad.js

jQuery.lazyload

demo:https://apoorv.pro/lozad.js/demo/

37、纯JS复制文本到检测板  

clipboard.js

官网:https://clipboardjs.com/

GIT:https://github.com/zenorocha/clipboard.js/archive/master.zip

36、二维码JS库

https://github.com/xiaoshi657/qrcodejs

<div id="qrcode"></div>
<script type="text/javascript">
new QRCode(document.getElementById("qrcode"), "http://jindo.dev.naver.com/collie");
</script>

35、jquery中ifram子窗体调用父窗体方法、父窗体调用子窗体方法

//调用子窗体中的方法.
var childWindow = $("#AddFrame")[].contentWindow;//获取子窗体的window对象 childWindow.subForm();
//调用父窗体中的方法
window.parent.afterAdd();

34、省市联动 遍历json数组

 //地址改变事件
$("#ProvinceCode").change(function (e) {
$.ajax({
type: "POST",
url: "/usercenter/uaccount/getcitylist",
data: {provinceCode:$("#ProvinceCode").val()},
success: function (result) {
//result :[{"ID":127,"Code":"360100","Name":"南昌市","ProvinceCode":"360000"},{"ID":128,"Code":"360200","Name":"景德镇市","ProvinceCode":"360000"}]
var tempHtml="";
for (var i in result) {
tempHtml+='<option value="'+result[i].Code+'">'+result[i].Name+'</option>';
}
$("#CityCode").html(tempHtml);
},
dataTypeString: "json"
});

c#代码:

  public ActionResult GetCityList(string provinceCode)
{
List<S_City> cityList = CacheHelper.GetCache("CityCache") as List<S_City>;
if (cityList == null)
{
XS.EasyBlog.BLL.S_CityService citybll = new BLL.S_CityService();
cityList = citybll.LoadEntities(c => true).ToList();
CacheHelper.SetCache("CityCache", cityList);
} cityList = cityList.Where(c => c.ProvinceCode == provinceCode).ToList();
//ViewBag.CityList = cityList;
return Json(cityList, JsonRequestBehavior.AllowGet);
//return View(CurrentMember);
}

33、获取form表单所有值

    $("#commitInfoForm").click(function () {
alert($("#accountInfoForm").serialize());//.serializeArray();
});

键值对:

$("button").click(function(){
x=$("form").serializeArray();
$.each(x, function(i, field){
$("#results").append(field.name + ":" + field.value + " ");
});
});

32、json转换

var obj = eval('(' + str + ')');
var last=JSON.stringify(obj); //将JSON对象转化为string字符

31、IE8屏蔽错误

重写方法

    window.onerror = function () { return true; }
console.log = function () { };
console.error = function () { };
<script>
window.console = window.console || (function () {
var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile
= c.clear = c.exception = c.trace = c.assert = function () { };
return c;
})();
</script>

30、jqzoom.js 图片放大器

SWFUpload 文件上传

29、数组中存在则移除

AddMemberIDList.splice($.inArray(MemberID, AddMemberIDList), );
//1:移除的次数这里指一次 0:不移除

28、可以关闭的小广告

var dvObj = $('<div style="width:300px; height:200px;position:absolute;right:0;bottom:0;"></div>').appendTo($('body')); //层来了

                //可以关闭广告

                $('<span style="float:right; cursor:pointer;">×</span>').click(function () {
$(this).parent().remove(); }).appendTo(dvObj);

27、请仔细阅读协议

        $(function () {

            var sec = 5;
var setId = setInterval(function () {
sec--;
if (sec <= 0) {
sec = 0;
clearInterval(setId);
$('#btn').val('同意').attr('disabled',false);
} else {
$('#btn').val('请仔细阅读协议(' + sec + ')');
}
}, 1000);
});

26、jq的cookie处理 jquery.cookie.js

1、引用  jquery.cookie.js

2、用下面这段代码   两个方式都很好用

//写cookies
function setCookie(name, value,time) {
var Days = time||365;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString()+";path=/;";
}
//读取cookies
function getCookie(sName) {
var aCookie = document.cookie.split("; ");
for (var i = 0; i < aCookie.length; i++) {
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
return null;
} //删除cookies
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() + -1 * 24 * 60 * 60 * 1000);
var cval = getCookie(name);
if (cval != null)
document.cookie = name + "=;expires=" + exp.toGMTString() + "; path=/;";
}
//清楚所有cookie
function clareCookie() { var strCookie = document.cookie;
var arrCookie = strCookie.split("; "); // 将多cookie切割为多个名/值对
for (var i = 0; i < arrCookie.length; i++) { // 遍历cookie数组,处理每个cookie对
var arr = arrCookie[i].split("=");
if (arr.length > 0)
delCookie(arr[0]);
}
}
//创建一个超链接添加到body中

                 $('<a href="http://www.baidu.com"></a>').text('百度').appendTo($('body'));

                //在body中添加超链接
// var akObj = $('<a href="http://www.baidu.com"></a>').text('百度');
// $('body').append(akObj);
              //表示的是包含哈哈这两个字的内容的层
//$('div:contains(哈哈)').css('fontSize','100px');
//空层
//$('div:empty').css('backgroundColor', 'pink');
//所有DIV中包含a标签的div北京为蓝色
$('div:has(a)').css('backgroundColor', 'pink');

25、循环遍历checkbox /radio

<!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>
<title></title>
<script src="jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript"> $(function () { $('#btn').click(function () {
var cks = $('div input:checked'); //元素的each用法
cks.each(function (index, ele) {
alert($(ele).val());
});
}); }); </script>
</head>
<body>
<input type="button" name="name" value="显示value值" id="btn" />
<div id="dv"> <input type="checkbox" name="name" value="1" />吃饭
<input type="checkbox" name="name" value="2" />睡觉
<input type="checkbox" name="name" value="3" />打豆豆
<input type="checkbox" name="name" value="4" />打篮球
<input type="checkbox" name="name" value="5" />打足球
<input type="checkbox" name="name" value="6" />打铅球
</div>
</body>
</html>
<!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>
<title></title>
<script src="jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript"> $(function () {
//全选
$('#btnAll').click(function () { $('div :checkbox').attr('checked', true);
});
//全不选
$('#btnNoAll').click(function () { $('div :checkbox').attr('checked', false);
});
//反选
$('#btnFX').click(function () { $('div :checkbox').each(function (index, ele) {
$(ele).attr('checked', !$(ele).attr('checked'));
});
});
}); </script>
</head>
<body>
<input type="button" name="name" value="全选" id="btnAll" />
<input type="button" name="name" value="全不选" id="btnNoAll" />
<input type="button" name="name" value="反选" id="btnFX" />
<div style="border: 1px solid red; height: 200px;">
<input type="checkbox" name="name" value="1" />忐忑
<input type="checkbox" name="name" value="2" />法海不懂爱
<input type="checkbox" name="name" value="3" />金箍棒
<input type="checkbox" name="name" value="4" />爱情买卖
<input type="checkbox" name="name" value="5" />最炫民族风
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <input type="button" value="全选" onclick="checkAll();" />
<input type="button" value="反选" onclick="reverseAll();" />
<input type="button" value="取消" onclick="cancleAll();"/> <table border="1">
<thead>
<tr>
<th>选项</th>
<th>IP</th>
<th>PORT</th>
</tr>
</thead>
<tbody id="tb"> <tr>
<td><input type="checkbox" /></td>
<td>1.1.1.1</td>
<td>80</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>1.1.1.1</td>
<td>80</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>1.1.1.1</td>
<td>80</td>
</tr>
</tbody>
</table> <script src="jquery-1.12.4.js"></script>
<script>
function checkAll() {
$('#tb :checkbox').prop('checked',true);
}
function cancleAll() {
$('#tb :checkbox').prop('checked',false);
}
function reverseAll() {
$(':checkbox').each(function(k){
// this,代指当前循环的每一个元素
// Dom
/*
if(this.checked){
this.checked = false;
}else{
this.checked = true;
}
*/
/*
if($(this).prop('checked')){
$(this).prop('checked', false);
}else{
$(this).prop('checked', true);
}
*/
// 三元运算var v = 条件? 真值:假值
// var v = $(this).prop('checked');//?false:true;
$(this).prop('checked',!$(this).prop('checked'));
})
}
</script>
</body>
</html>

24、获取被选中的checked  input

$('input:checked').css('backgroundColor', 'red');//获取 被选中的元素
<div>
<input type="checkbox" name="name" value="1" checked="checked" />吃饭
<input type="checkbox" name="name" value="2" checked="checked" />睡觉
<input type="checkbox" name="name" value="3" />打豆豆
</div>

23、两个加载的区别onload

onload $(document).ready(function (){}) 区别

前者是图片类资源都加载完执行

或者是基本标签加载完执行

前者只可以写一个,多写后面的会覆盖前面的,后者写多少个执行多少个

后者的终极写法

$(function (){})
$(document).ready(function (){})
//与
$(function (){})
//功能一样都是加载完执行

22、JS正则

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
//返回true
//RegExp 对象有 3 个方法:test()、exec() 以及 compile()//返回bool、返回匹配到的字符
var msg= "      去掉空格      " 

msg = msg.replace(/^\s+/g, '');// \s空格

正则表达式中/i,/g,/ig,/gi,/m的区别和含义

/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)

21、js 随机数 整数

$(document).ready(function() {    

   //x上限,y下限    

       var x = 12;       

     var y = 0;           

   var rand = parseInt(Math.random() * (x - y + 1) + y);      

        $("#b").html("").append("<div>" + rand + "</div>");    

      })    

从1开始 至 任意值

parseInt(Math.random()*上限+1);

2. 从任意值开始 至 任意值

parseInt(Math.random()*(上限-下限+1)+下限);

random是0到1之间(不包括1)的伪随机函数,floor是取当前数值的整数部分值,舍掉小数部分.

常搭配使用,用来取0到某个数值之间的随机数.如想取0~49之间的随机数可用:

Math.floor(Math.random()*50),最大值再大也不到50,后舍掉小数部分就是0~49的任意一个伪随机数.

round是取近似值的数,也就是四舍五入的说法.返回一个整数值,配合使用如:

Math.round(Math.atan2(y,x))来返回一个角度的近似整数值

20、判断是否为空

**判断是否null
*@param data
*/
function isNull(data) {
return (data == "" || data == undefined || data == null);
}

var companyid = new URL().get('CompanyID');
if (companyid != null || companyid != "" || companyid != undefined) {

 

19、去掉最后逗号

chk_id = chk_id.substr(0, chk_id.length - 1);//去掉最后“,”

18、去掉html

                        $("#" + id).parent().parent().remove();

17、setInterval(循环) setTimeout(一次)定时执行

//--------监测UUID  start-------
//每0.1秒检查一次字符串前34个字符是否等于tvalue如果不等于就重新赋值,
var tValue = "4F9863FE-96DA-4AB0-AA31-6FE7475A60";
var intv setInterval(function (event) {
var value = document.getElementById("UUID").value;
var val_34 = value.substr(0, 34);//获取前34位
//var val_2 = value.subStr(value.length - 2, 2);//获取后两位
if (val_34 != tValue) {
document.getElementById("UUID").value = $("#hidUUID").val();
}
}, 100);
//---------监测UUID end--------
//window.clearInterval(intv) //移除


16、setTimeout

setTimeout("alert('5 seconds!')",5000)

15、判断数组中是否存在指定元素

                        //if (MemberIDList.indexOf(_model.FriendID) >= 0) {
// _model.Display = "display:none";
//};
if ($.inArray(_model.FriendID, MemberIDList)>=0) {
_model.Display = "display:none";
};

14、checkeBox 限制单选

//$("#myCheckBox").bind('change',function(){});

//$("#myCheckBox").change(function(){})

//限制单选
$("input[name='kt']:checkbox").live("click", function () {
//$("input[name='kt']").each(function () {
// $(this).attr('checked', false);
//});
//$(this).attr('checked', true); if ($(this).is(':checked')) {
//alert($(this).attr('checked'))
$(this).attr('checked', true).parent().parent().siblings().children().children().attr('checked', false);
} else {
$(this).attr('checked', false).parent().parent().siblings().children().children().attr('checked', false);
}
})

相关HTML

<!-- 课题选择列表  start-->
<script id="temp_CompetitionTopicList" type="text/template">
<li>
<div class="kt_title"><input class="check_input" name="kt" id="{kt}" type="checkbox" value="{ID}" /><h4>{Num}. {TopicName}<i></i></h4></div>
<div class="kt_info">{TopicDesc}</div>
</li>
</script>
<!-- 课题选择列表 end-->

【知识碎片】JavaScript篇的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. 我的前端规范——JavaScript篇

    相关文章 简书原文:https://www.jianshu.com/p/5918c283cdc3 我的前端规范——开篇:http://www.cnblogs.com/shcrk/p/9271561.h ...

  3. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  4. 前端试题本(Javascript篇)

    JS1. 下面这个JS程序的输出是什么:JS2.下面的JS程序输出是什么:JS3.页面有一个按钮button id为 button1,通过原生的js如何禁用?JS4.页面有一个按钮button id为 ...

  5. [转] Web前端优化之 Javascript篇

    原文链接: http://lunax.info/archives/3099.html Web 前端优化最佳实践之 JavaScript 篇,这部分有 6 条规则,和 CSS 篇 重复的有几条.前端优化 ...

  6. web前端面试试题总结---javascript篇

    JavaScript 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的 ...

  7. 前端面试题总结(三)JavaScript篇

    前端面试题总结(三)JavaScript篇 一.谈谈对this的理解? this是一个关键字. this总是指向函数的直接调用者(而非间接调用者). 如果有new关键字,this指向new出来的那个对 ...

  8. 前端性能优化(JavaScript篇)

    正巧看到在送书,于是乎找了找自己博客上记录过的一些东西来及其无耻的蹭书了~~~ 小广告:更多内容可以看我的博客 优化循环 如果现在有个一个data[]数组,需要对其进行遍历,应当怎么做?最简单的代码是 ...

  9. 前端知识杂烩(Javascript篇)

    1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区 ...

随机推荐

  1. Java8_03_流

    一.前言 这一节我们来看下Java8的又一新特性:流. 本节主要包括以下内容: 流的相关概念 使用流 收集器 二.流的相关概念 流允许你以声明性方式处理数据集合,可以将其看成遍历数据集的高级迭代器. ...

  2. mybatis分页插件使用注意

    之前的项目用的数据库是mysql,在pom.xml引入这一个就能分页了. 后来又开了一个项目,使用的是oracle数据库,我写分页的时候发现不能实现,在网上找到资料说是必须要5.0以上的.我就导了这依 ...

  3. jsp中的session

    浏览器和服务器的异常通话 常用方法 setAttribute(String key,Object value);//设置值 getAttribute(String key); //取值 Invalid ...

  4. request_irq() | 注册中断服务

    一.中断注册方法 在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义: int request_irq(unsigned int ...

  5. niosii boot过程

    1 概述Nios II 的boot过程要经历两个过程. FPGA器件本身的配置过程.FPGA器件在外部配置控制器或自身携带的配置控制器的控制下配置FPGA的内部逻辑.如果内部逻辑中使用了Nios II ...

  6. 简述负载均衡和 CDN 技术

    曾经见到知乎上有人问“为什么像facebook这类的网站需要上千个工程师维护?”,下面的回答多种多样,但总结起来就是:一个高性能的web系统需要从无数个角度去考虑他,大到服务器的布局,小到软件中某个文 ...

  7. Restore Nexus 5 to Stock and Flash Factory Images

    1.This is the website to download Factory Images for Nexus Devices https://developers.google.com/and ...

  8. [教程]centos卸载、安装mysql(源码编译安装方式)

    -----------1 卸载系统自带的msyql包 rpm -qa|grep mysql rpm -e --nodeps mysql-server-5.1.71-1.el6.x86_64 --强制卸 ...

  9. 字符串长度(PHP学习)

    1.计算字符串长度有哪些方法? 答:strlen()   和  mb_strlen() 2.两者有什么区别 答: 如下代码 <?php $str = 'hello中国'; ?> strle ...

  10. RAC 11gR2模拟OCR和Votedisk损坏恢复过程

    1)破坏前的ocr和votedisk信息检查 检查ocr自动备份 [root@rac1 ~]# ocrconfig -showbackup rac2 2013/10/13 09:45:30 /u01/ ...