当前位置:  编程技术>WEB前端
本页文章导读:
    ▪分享50个使你成为高级javascript开发者的jQuery的代码开发技巧 - 第二部分      转载,但是忘记地址了。26. 显示或者删除输入框的缺省值//This snippet will show you how to keep a default value//in a text input field for when a user hasn't entered in//a value to replace itswap_val = [];$(".swap").each(function(i.........
    ▪Jquery学习笔记1      W3CSchool全套Web开发手册.chm百度云盘下载http://pan.baidu.com/share/link?shareid=392276&uk=3627406265黑马Jquery的学习已经结束半个月多了,赵晓虎老师讲得很不错,通过练习能基本掌握Jquery。但久了不用.........
    ▪RubyMine scp远程同步部署代码      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 ,选.........

[1]分享50个使你成为高级javascript开发者的jQuery的代码开发技巧 - 第二部分
    来源:    发布时间: 2013-11-06

转载,但是忘记地址了。

26. 显示或者删除输入框的缺省值

//This snippet will show you how to keep a default value
//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支持)

//Here's how we used to do it in 1.3.2 using setTimeout
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

var newgbin1Div = $('');
newgbin1Div.attr('id','gbin1.com').appendTo('body');

 

29. 限制textarea的字符数量

jQuery.fn.maxLength = function(max){
this.each(function(){
var type = this.tagName.toLowerCase();
var inputType = this.type? this.type.toLowerCase() : null;
if(type == "input" &amp;&amp; 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 &gt; 0 : this.selectionStart != this.selectionEnd;
return !(this.value.length &gt;= max &amp;&amp; (keyCode &gt; 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) &amp;&amp; !ob.ctrlKey &amp;&amp; !ob.altKey &amp;&amp; !hasSelection);
};
this.onkeyup = function(){
if(this.value.length &gt; max){
this.value = this.value.substring(0,max);
}
};
}
});
};
//Usage:
$('#gbin1textarea').maxLength(500);

 

30. 为函数创建一个基本测试用例

//Separate tests into modules.
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克隆元素

var cloned = $('#gbin1div').clone();

 

32. 测试一个元素在jQuery中是否可见

if($(element).is(':visible') == 'true') { //The element is Visible }

 

33. 元素屏幕居中

jQuery.fn.center = function () {
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. 使用特定名字的元素对应的值生成一个数组

var arrInputValues = new Array();
$("input[name='table[]']").each(function(){
arrInputValues.push($(this).val());
});

 

35. 剔除元素中的HTML

(function($) {
$.fn.stripHtml = function() {
var regexp = /&lt;("[^"]*"|'[^']*'|[^'"&gt;])*&gt;/gi;
this.each(function() {
$(this).html(
$(this).html().replace(regexp,"")
);
});
return $(this);
}
})(jQuery);
//usage:
$('p').stripHtml();
36. 使用closest来得到父元素

$('#searchBox')
    
[2]Jquery学习笔记1
    来源:    发布时间: 2013-11-06

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>标签完成,不用等这个图片加载完成,就可以设置图片的宽高的属性或样式等。
  • $(document).ready()方法可以多次使用而注册不同的事件处理程序,而window.onload一次只能保存对一个函数的引用,多次绑定函数只会覆盖前面的函数。
  • 2、$.map函数(obj, fn)和$.each(obj, fn)函数。

    • obj (Object): 要重复迭代的对象或数组
    • fn (Function): 要在每个对象中执行的函数

    $.each(obj, fn(key,value))用于遍历键值对集合,如果是普通数组,则键为下标index

    var dict = { 'person1': '人类1', 'person2': '人类2' };
    var result = $.each(dict, function (k,v) {
    alert(k+"==="+v);//结果是分别弹出person1===人类1,person2====人类2
    });
     

    $.map函数(obj, fn(value,index))

    var arrInt = [1, 3, 5, 7, 9];

    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()这些方法用来设置值的时候可以链式编程,但是获取内容的时候不能链式编程,因为获取值的时候,返回值内容变了。【并不是任何时候都能链式编程,当返回值不是原来的对象时,就不能链式编程了。】

    $('p').text('我们都是p!').css('border', '5px solid yellow').click(function () {
    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

    过滤器练习:

    <!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="/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
        
    [3]RubyMine scp远程同步部署代码
        来源: 互联网  发布时间: 2013-11-06

    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)

    作者:hetuo198881 发表于2013-3-19 21:39:46 原文链接
    阅读:39 评论:0 查看评论

        
    最新技术文章:
     




    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3