javascript-jquery笔记
2015-10-27 15:22
651 查看
array
1.判断是否是一个数组对象function isArray(arg){ return Object.prototype.toString.call(arg) === '[object Array]'; }
2.根据对象的属性排序
function arraySortByAttribute(array, param, sortType){ if(!(isArray(array) && ((sortType === "asc") || (sortType === "desc")))){ alert("不正確的調用格式!"); return array; } var arrayLen = array.length; for(var i = 0; i < arrayLen; i++){ var obj1 = array[i]; var paramValue1 = eval("obj1." + param); var paramValue2; for(var j = i + 1; j < arrayLen; j++){ var obj2 = array[j]; paramValue2 = eval("obj2." + param); switch(sortType){ case "asc": if(paramValue1 > paramValue2){ paramValue1 = paramValue2; var temp = array[i]; array[i] = array[j]; array[j] = temp; } break; case "desc": if(paramValue1 < paramValue2){ paramValue1 = paramValue2; var temp = array[i]; array[i] = array[j]; array[j] = temp; } break; default: alert("程序有誤,請聯繫管理員![arraySortByAttribute]"); break; } } } return array; }
Object
1.动态读取object属性的值 var obj={ obj1:{ obj2:{ obj3:2, 'me':'testxxx' } } } var value1 = eval("obj.obj1.obj2['me']"); var value2 = eval("obj.obj1.obj2.obj3"); //打印输出结果: value1: testxxx value2: 2
Jquery
not() is() :not()的区别jquery第一個插件的框架,未完成
if (window.jQuery)(function ($) { "use strict"; function dialog(openedBy){ var diag = new Dialog(); var id = '#' + openedBy; var data = $(id).data("data"); var curVal, zh_CN, zh_TW, pt; curVal = $(id).prev().val(); diag.Width = 241; diag.Height = 126; diag.Title = "d"; diag.InvokeElementId="myTable"; diag.openedBy = openedBy || ""; diag.OKEvent = function(){ zh_CN = $("#zh_CN9wsak").val(); zh_TW = $("#zh_TW9wsak").val(); pt = $("#pt9wsak").val(); switch(language){ case "zh_CN": $(id).prev().val(zh_CN); break; case "zh_TW": $(id).prev().val(zh_TW); break; case "pt": $(id).prev().val(pt); break; default: break; } var obj = {}; obj.zh_CN = zh_CN; obj.zh_TW = zh_TW; obj.pt = pt; $(id).data("data", obj); diag.close(); }; diag.CancelEvent = function(){ diag.close(); }; diag.show(); if(isNull(data)){ $("#zh_CN9wsak").val(""); $("#zh_TW9wsak").val(""); $("#pt9wsak").val(""); }else{ $("#zh_CN9wsak").val(data.zh_CN); $("#zh_TW9wsak").val(data.zh_TW); $("#pt9wsak").val(data.pt); } switch(language){ case "zh_CN": $("#zh_CN9wsak").val(curVal); break; case "zh_TW": $("#zh_TW9wsak").val(curVal); break; case "pt": $("#pt9wsak").val(curVal); break; default: break; } } $.fn.ManyLanguageDialog = function (options) { if (typeof options == "string") { options = {language: options}; }; var options = $.extend({} , $.fn.ManyLanguageDialog.options , options || {} ); var ManyLanguageDialog = { e: this, E: $(this), clone: $(this).clone() }; this.each(function(){ $(this).click(function(){ dialog($(this).attr("id")); }); }); }; $.fn.ManyLanguageDialog.options = { language: "zh_CN", }; })(jQuery); $(function () { $("input[type=button]._ManyLanguageDialog").ManyLanguageDialog(); }); $(function(){ $("#testBtn1").click(function(){ language = "zh_TW"; }); });
取值:
1.id下input下的name
var array = $('#div2 input[name="myInput"]'); $.each(array, function(){ console.log("data:" + $(this).val()); });
checkbox
1、获取单个checkbox选中项(三种写法) $("input:checkbox:checked").val() 或者 $("input:[type='checkbox']:checked").val(); 或者 $("input:[name='ck']:checked").val(); 2、 获取多个checkbox选中项 $('input:checkbox').each(function() { if ($(this).attr('checked') ==true) { alert($(this).val()); } }); 3、设置第一个checkbox 为选中值 $('input:checkbox:first').attr("checked",'checked'); 或者 $('input:checkbox').eq(0).attr("checked",'true'); 4、设置最后一个checkbox为选中值 $('input:radio:last').attr('checked', 'checked'); 或者 $('input:radio:last').attr('checked', 'true'); 5、根据索引值设置任意一个checkbox为选中值 $('input:checkbox).eq(索引值).attr('checked', 'true');索引值=0,1,2.... 或者 $('input:radio').slice(1,2).attr('checked', 'true'); 6、选中多个checkbox同时选中第1个和第2个的checkbox $('input:radio').slice(0,2).attr('checked','true'); 7、根据Value值设置checkbox为选中值 $("input:checkbox[value='1']").attr('checked','true'); 8、删除Value=1的checkbox $("input:checkbox[value='1']").remove(); 9、删除第几个checkbox $("input:checkbox").eq(索引值).remove();索引值=0,1,2.... 如删除第3个checkbox: $("input:checkbox").eq(2).remove(); 10、遍历checkbox $('input:checkbox').each(function (index, domEle) { //写入代码 }); 11、全部选中 $('input:checkbox').each(function() { $(this).attr('checked', true); }); 12、全部取消选择 $('input:checkbox').each(function () { $(this).attr('checked',false); });
zDialog自定义按钮的绑定
Dialog.getDialogBtnId = function(dialogId){ var parentId = $('#' + dialogId).parent().attr("id"); var No = parentId.substring(getStrLength("_Container_"), getStrLength(parentId)); var okAndCancelBtnId = {}; okAndCancelBtnId.okBtn = "#_ButtonOK_" + No; okAndCancelBtnId.cancelBtn = "#_ButtonCancel_" + No; return okAndCancelBtnId; }
一个很好用的正则表达式
queryString = function(url, val) { var re = new RegExp("" +val+ "=([^&?]*)", "ig"); return ((url.match(re))?(url.match(re)[0].substr(val.length+1)):null); }
javascript 传递 this
(function(){ function sum(num1, num2){ sum = num1 + num2 + this.kk; alert("sum:" + sum);//输出的结果是13 return sum; } var b = function(){ sum.call({kk: 10}, 1, 2); } b(); })();
window下好用的命令
sysdm.cpl powercfg.cpl
javascript中一种高级的写法,当对象不存在时,给定一个空的对象
a.events || a.events={}
FIT,集成测试框架
http://fit.c2.com
关于JSON
$.parseJSON(str)或JSON.parse(str) JSON.stringify()
判断是否为数组
function isArrayFn(value){ if (typeof Array.isArray === "function"){ return Array.isArray(value); }else{ return Object.prototype.toString.call(value) === "[object Array]"; } }
判断是否是一个函数
(typeof(typeof(g_org_chart)=="object"?g_org_chart.getData:null) == "function") ? g_org_chart.getData() : null ;
p标签内容溢出
参考:
http://zhidao.baidu.com/link?url=VL1Gk2oOg1MJqYqpz2VLxpAVlk4B5qt4acaDeom8MeJ6OkiavEJAeM2fW-W9aGfJRjBza5b3f8P_9Rr_NMjToK
在css里写上 word-break:break-all 强制换行 或 overflow:hidden 隐藏超出部分 h2标签在空格和其它符号间会自动换行,加 white-space: nowrap; 就不会自动换行啦
日期处理
var str ='2012-08-12'; str = str.replace(/-/g,"/"); var date = new Date(str ); alert(date);
判断IE11
引用自:http://zhidao.baidu.com/link?url=x8wRm3EllTlUZrrcOqg_1wO6vwq90c6h77vI3nbzFvcPJy_atfDIaFbO7tKZq8NHafZ7LwqPW0qz_Wo_a25-v9RhfHxtWi3rkaOTxr6hUaq
<script type="text/javascript"> var userAgent = navigator.userAgent, rMsie = /(msie\s|trident.*rv:)([\w.]+)/, rFirefox = /(firefox)\/([\w.]+)/, rOpera = /(opera).+version\/([\w.]+)/, rChrome = /(chrome)\/([\w.]+)/, rSafari = /version\/([\w.]+).*(safari)/; var browser; var version; var ua = userAgent.toLowerCase(); function uaMatch(ua) { var match = rMsie.exec(ua); if (match != null) { return { browser : "IE", version : match[2] || "0" }; } var match = rFirefox.exec(ua); if (match != null) { return { browser : match[1] || "", version : match[2] || "0" }; } var match = rOpera.exec(ua); if (match != null) { return { browser : match[1] || "", version : match[2] || "0" }; } var match = rChrome.exec(ua); if (match != null) { return { browser : match[1] || "", version : match[2] || "0" }; } var match = rSafari.exec(ua); if (match != null) { return { browser : match[2] || "", version : match[1] || "0" }; } if (match != null) { return { browser : "", version : "0" }; } } var browserMatch = uaMatch(userAgent.toLowerCase()); if (browserMatch.browser) { browser = browserMatch.browser; version = browserMatch.version; } document.write(browser+version); </script>
javascript 闭包
$(document).ready(function () { for (var i = 0; i < 5; i++) { (function (value) { $('<div>Print ' + value + '</div>') .click(function () { alert(value); }).insertBefore('#results'); })(i); } });
javascript傳遞jquery this
<input class="chkChk" type="checkbox" onclick="holidayChkAll($(this));"/> <h:outputText value="#{msg['holiday']['holiday']}"/> function holidayChkAll($This){ alert("this prop:" + $This.prop("checked")); }
JavaScript停止事件冒泡和取消事件默认行为? 功能:停止事件冒泡 function stopBubble(e) { // 如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) { // 因此它支持W3C的stopPropagation()方法 e.stopPropagation(); } else { // 否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubble = true; } } 功能:阻止事件默认行为 function stopDefault( e ) { // 阻止默认浏览器动作(W3C) if ( e && e.preventDefault ) { e.preventDefault(); } else { // IE中阻止函数器默认动作的方式 window.event.returnValue = false; } return false; }
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets