转载,但是忘记地址了。
26. 显示或者删除输入框的缺省值
//in a text input field for when a user hasn't entered in
//a value to replace it
swap_val = [];
$(".swap").each(function(i){
swap_val[i] = $(this).val();
$(this).focusin(function(){
if ($(this).val() == swap_val[i]) {
$(this).val("");
}
}).focusout(function(){
if ($.trim($(this).val()) == "") {
$(this).val(swap_val[i]);
}
});
});
<INPUT value="Enter Username here.." type=text>
27. 指定时间后自动隐藏或者关闭元素(1.4支持)
setTimeout(function() {
$('.mydiv').hide('blind', {}, 500)
}, 5000);
//And here's how you can do it with 1.4 using the delay() feature (this is a lot like sleep)
$(".mydiv").delay(5000).hide('blind', {}, 500);
28. 动态创建元素到DOM
newgbin1Div.attr('id','gbin1.com').appendTo('body');
29. 限制textarea的字符数量
this.each(function(){
var type = this.tagName.toLowerCase();
var inputType = this.type? this.type.toLowerCase() : null;
if(type == "input" && inputType == "text" || inputType == "password"){
//Apply the standard maxLength
this.maxLength = max;
}
else if(type == "textarea"){
this.onkeypress = function(e){
var ob = e || event;
var keyCode = ob.keyCode;
var hasSelection = document.selection? document.selection.createRange().text.length > 0 : this.selectionStart != this.selectionEnd;
return !(this.value.length >= max && (keyCode > 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) && !ob.ctrlKey && !ob.altKey && !hasSelection);
};
this.onkeyup = function(){
if(this.value.length > max){
this.value = this.value.substring(0,max);
}
};
}
});
};
//Usage:
$('#gbin1textarea').maxLength(500);
30. 为函数创建一个基本测试用例
module("Module B");
test("some other gbin1.com test", function() {
//Specify how many assertions are expected to run within a test.
expect(2);
//A comparison assertion, equivalent to JUnit's assertEquals.
equals( true, false, "failing test" );
equals( true, true, "passing test" );
});
31. 使用jQuery克隆元素
32. 测试一个元素在jQuery中是否可见
33. 元素屏幕居中
this.css('position','absolute');
this.css('top', ( $(window).height() - this.height() ) / +$(window).scrollTop() + 'px');
this.css('left', ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + 'px');return this;
}
//Use the above function as: $('#gbin1div').center();
34. 使用特定名字的元素对应的值生成一个数组
$("input[name='table[]']").each(function(){
arrInputValues.push($(this).val());
});
35. 剔除元素中的HTML
$.fn.stripHtml = function() {
var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;
this.each(function() {
$(this).html(
$(this).html().replace(regexp,"")
);
});
return $(this);
}
})(jQuery);
//usage:
$('p').stripHtml();
36. 使用closest来得到父元素
$('#searchBox')
W3CSchool全套Web开发手册.chm百度云盘下载http://pan.baidu.com/share/link?shareid=392276&uk=3627406265
黑马Jquery的学习已经结束半个月多了,赵晓虎老师讲得很不错,通过练习能基本掌握Jquery。但久了不用,也遗忘了很多,今天做一下笔记总结,过几天再整理一下做过的习题,包括自动完成,仿QQ微博,评分控件等
1、$(document).ready()方法和window.onload方法区别
为了正常操作页面元素,我们需要把操作元素的JS代码写在$(document).ready()(Jquery)或window.onload(普通JS)中。$(document).ready()(这种写法实际上是/把dom对象document转换成了jQuery对象,然后注册ready()事件)一般我们可以简化为
$(function(){
........jquery代码...........
});
下面介绍一些它们的区别:
window.onload方法是在网页中的所有的元素(包括元素的所有关联文件)都完全加载到浏览器之后才执行。而通过jQuery中的$(document).ready()方法只要在DOM完全就绪时,就可以调用了,比如一张图片只要<img>标签完成,不用等这个图片加载完成,就可以设置图片的宽高的属性或样式等。
2、$.map函数(obj, fn)和$.each(obj, fn)函数。
- obj (Object): 要重复迭代的对象或数组
- fn (Function): 要在每个对象中执行的函数
$.each(obj, fn(key,value))用于遍历键值对集合,如果是普通数组,则键为下标index
var result = $.each(dict, function (k,v) {
alert(k+"==="+v);//结果是分别弹出person1===人类1,person2====人类2
});
$.map函数(obj, fn(value,index))
var result = $.map(arrInt, function (val, index) {
//通过实际观察,发现,传递的函数有两个参数,其中第一个参数表示遍历的数组中的元素的值,第二个表示元素的索引
return val * 2;
});
alert(result); //结果是2,6,10,14,18
3、Dom和Jquery对象转换
dom对象转为jquery对象,var div=document.getElementById();var jqdom=$(div),这样就可以用jquery的一些成员,如text
jquery对象转为dom对象:var domobj=jqdom[0];这样又可以用dom的一些成员了,如innnerText
4、选择器:
标签选择器:$('p');
ID选择器:$('#p1');
类选择器:$('.a')
组合选择器:$('#btn,#p1,span')
标签+类选择器:$('p.a');
层次选择器:$('div p');
$('div >p')div下直接子元素;
$('div ~ p')在div后,搜索所有p兄弟,等于$('div').nextAll('p');
$('div +p')div后只找紧挨着的第一个p元素兄弟,等于$('div').next('p');
5、隐式迭代:$('p').text('');无需循环便可设置所有p标签文字
6、链式编程:
用链式编程时,需要注意next(),nextAll返回的已经不是原来的元素,也可以用end()恢复前一次的状态。如$(this).prevAll().css('').end().siblings();
text()、html()、val()这些方法用来设置值的时候可以链式编程,但是获取内容的时候不能链式编程,因为获取值的时候,返回值内容变了。【并不是任何时候都能链式编程,当返回值不是原来的对象时,就不能链式编程了。】
alert($(this).text());
});
7、设置与获取
设置css:$(this).css({'width':'100px','border':'1px'});获取css中某个属性var width=$(this).css('width')
设置attr:$(this).attr('width','100px'),获取attr某个属性:var width=$(this).attr('width')
设置text:$(this).text('text1'),获取text,var txt=$(this).text()
设置val:$(this).val('text1'),获取text,var val=$(this).val()
8、过滤器:
$('p:first')第一个p元素,等于$('p').first()
$('p':last)最后一个p元素,等于$('p').last();
$('p:eq(2)')根据索引
$('p:even')选取所有偶数个p
$('odd)选取所有奇数个p
$('p:gt(index)')大于索引
$('p:lt(index)')小于索引
$('header')选取所有h1-h6元素
$('input:not(.myclass)')选取样式名不是myclass
过滤器练习:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="/blog_article/scripts/jquery-1.8.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#table1 tr:first').css('font-size', '30px');
$('#table1 tr:last
tools->deployment->configuration
新建centos_drivelink_server
connection
type: sftp
sftp host:192.168.106.94
port:22
Root path: 使用auto detect
User name:root
Password:**** (Save password)
mapping
Deployment path on server ,选择目录。
web path on server 使用"/"
Excluded Paths
public目录(视情况而定)
tmp目录
Gemfile.lock文件
log目录
个别设置
详细日志:tools->deployment->option->operations logging: Details
自动上传:tools->deployment->automatic upload(always)