您的位置:首页 > Web前端 > JQuery

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript