$(".nav li.has_list").hover(function(){ $(this).children("a").addClass("curr"); $(this).children("div").stop(true,true).slideDown(400); },this).children("a").removeClass("curr"true).slideUp(400); } );
$("button").click((){ $("body").append($("p").clone()); });
$("button").click((){ $(this).clone(true).insertAfter(this); });
<button>Clone Me!</> >
$("button").click((){ $("img").attr("width","500"); });
//返回属性的值: $(selector).attr(attribute) 设置属性和值: $(selector).attr(attribute,value) 使用函数设置属性和值: $(selector).attr(attribute,1)">(index,currentvalue)) 设置多个属性和值: $(selector).attr({attribute:value,attribute:value,...})
参数 | 描述 |
---|---|
attribute | 规定属性的名称。 |
value | 规定属性的值。 |
function(index,currentvalue) | 规定要返回属性值到集合的函数
|
$("button").click((){ var $x = $("div"); $x.prop("color","FF0000"); $x.append("The color 属性: " + $x.prop("color")); $x.removeProp("color"); });
$(selector).prop(property) $(selector).prop(property,1)">使用函数设置属性和值: $(selector).prop(property,1)">设置多个属性和值: $(selector).prop({property:value,property:value,...})
参数 | 描述 |
---|---|
property | 规定属性的名称。 |
value | 规定属性的值。 |
function(index,currentvalue) | 规定返回要设置的属性值的函数。
|
a href="http://www.baidu.com" target="_self" class="btn">百度a>
="#" id="link1" action="delete">删除>
<div class="content">
p>我是第一条文本内容。</>我是第二条文本内容。>
div>
$("p").wrap("<strong></strong>");
strong><></>
$("p").wrapAll("<strong></strong>");
>
$("p").wrapInner("<strong></strong>");
>
$("p").unwrap();
>
="city">
label>北京>上海>
>
$(function(){
$(".city label").each((i){
$(".city label").slice(i*4,i*4+4).wrapAll("<div class='same'></div>");
});
})
="same">
.map(callback(index,domElement))
form method="post"=""> fieldset> div> label for="two">2labelinput type="checkbox" value="2"="two" name="number[]"="four">4="4"="four"="six">6="6"="six"="eight">8="8"="eight"form>
var result = $(':checkbox').map(() { return .id; }).get().join(','); console.log(result); two,four,six,eight
type ="hidden"="hidden1"/> ="hidden2"script ="text/javascript"> $(function(){ //方式一 $.each($("input:hidden),(i,val){ console.log(i,val); }); 方式二: $().each( 打印结果: // 0 <input type ="hidden" value="hidden1"/> 1 <input type ="hidden" value="hidden2"/>
$.each([1,2,3],val){ console.log(i,val) })
0 1 1 2 2 3
(object,callback,args) { 该方法有三个参数:进行操作的对象obj,进行操作的函数fn,函数的参数args var name,i = 0,length = object.length; if (args) { if (length == undefined) { for (name in object) { if (callback.apply(object[name],args) === false) { break; } } } else { for (; i < length;) { if (callback.apply(object[i++],1)">; } } } } { if (callback.call(object[name],name,object[name]) === for (var value = object[0]; i < length && callback.call(value,i,value) !== false; value = object[++i]) {} /*object[0]取得jQuery对象中的第一个DOM元素,通过for循环, 得到遍历整个jQuery对象中对应的每个DOM元素,通过 callback.call( value,value); 将callback的this对象指向value对象,并且传递两个参数,i表示索引值,value表示DOM元素; 其中callback是类似于 function(index,elem) { ... } 的方法。 所以就得到 $("...").each(function(index,elem){ ... }); */ } } return object; }
$("h1").add("p").add("span")
$("body").add("<div class='test'>test</div>");
p>This is a paragragh.p id="selected"> script $(p).not(#selected).css('background-color,1)">red); >
$(selector).has(element)
ulli>list item 1>list item 2 >list item 2-a>list item 2-b>list item 3>list item 4li).has(ul>
>list strong>item 1></><span>list item 2>
$("ul").click((event) { var $target = $(event.target); if ( $target.is("li") ) { $target.css("background-color","red"); } });
>list> item 1 - one strong tag> item - two >strong tags>list item 5>
$("li").click(() { var $li = $(() { return $('strong',1)">this).length === 2; }); ( isWithTwo ) { $li.css("background-color","green"); } { $li.css("background-color",1)">); } });
$(selector).proxy(function,context)
<div>这是一个 div 元素。</div> $(document).ready((){ test=(){ this.txt="这是一个对象属性"; $("div").click($.proxy(this.myClick,1)">)); }; test.prototype.myClick = (event){ console.log(.txt); console.log(event.currentTarget.nodeName); }; var x = new test(); });
$(selector).proxy(context,name)
$(document).ready((){ var objPerson = { name: "John Doe"(){ $("p").after("Name: " + this.name + "<br> Age: " + .age); } }; $("button").click($.proxy(objPerson,"test")); });
A global GUID counter for objects guid: 1 Bind a function to a context,optionally partially applying any arguments. proxy: ( fn,context ) { var tmp,args,proxy; if ( typeof context === "string" ) { tmp = fn[ context ]; context = fn; fn = tmp; } Quick check to determine if target is callable,in the spec this throws a TypeError,but we will just return undefined. if ( !jQuery.isFunction( fn ) ) { undefined; } Simulated bind args = slice.call( arguments,2 ); proxy = () { return fn.apply( context || Set the guid of unique handler to the same of original handler,so it can be removed proxy.guid = fn.guid = fn.guid || jQuery.guid++; proxy; }
$.extend( target [,object1 ] [,objectN ] )
$.extend( [deep ],target,object1 [,objectN ] )
var object1 = { apple: 0},cherry: 97 }; var object2 = { banana: {price: 200 object2 合并到 object1 中 $.extend(object1,object2); console.log(object1); {apple: 0,banana: {…},cherry: 97,durian: 100}
$.extend({ hello:function(){console.log('hello');} }); $.hello();
$.extend({net:{}});
$.extend($.net,{ hello:function(){alert('hello');} })
$.fn.extend( object )
="foo"> Foo="bar"> Bar () { $.fn.extend({ check: () { return this.each(() { .checked = true; }); },uncheck: false; }); } }); 使用新创建的.check() 方法 $( input[type='checkbox'] ).check(); }) >
合并两个或更多对象的属性到第一个对象中,jQuery后续的大部分功能都通过该函数扩展 // 通过jQuery.fn.extend扩展的函数,大部分都会调用通过jQuery.extend扩展的同名函数 如果传入两个或多个对象,所有对象的属性会被添加到第一个对象target 如果只传入一个对象,则将对象的属性添加到jQuery对象中。 用这种方式,我们可以为jQuery命名空间增加新的方法。可以用于编写jQuery插件。 如果不想改变传入的对象,可以传入一个空对象:$.extend({},object1,object2); 默认合并操作是不迭代的,即便target的某个属性是对象或属性,也会被完全覆盖而不是合并 第一个参数是true,则会迭代合并 从object原型继承的属性会被拷贝 undefined值不会被拷贝 因为性能原因,JavaScript自带类型的属性不会合并 jQuery.extend( target,[ object1 ],[ objectN ] ) jQuery.extend( [ deep ],[ objectN ] ) jQuery.extend = jQuery.fn.extend = () { options,src,copy,copyIsArray,clone,target = arguments[0] || {},i = 1 arguments.length,deep = ; Handle a deep copy situation 如果第一个参数是boolean型,可能是深度拷贝 typeof target === "boolean" ) { deep = target; target = arguments[1] || {}; skip the boolean and the target 跳过boolean和target,从第3个开始 i = 2; } Handle case when target is a string or something (possible in deep copy) target不是对象也不是函数,则强制设置为空对象 typeof target !== "object" && !jQuery.isFunction(target) ) { target = {}; } extend jQuery itself if only one argument is passed 如果只传入一个参数,则认为是对jQuery扩展 if ( length === i ) { target = ; --i; } for ( ; i < length; i++ ) { Only deal with non-null/undefined values 只处理非空参数 if ( (options = arguments[ i ]) != null ) { Extend the base object for ( name options ) { src = target[ name ]; copy = options[ name ]; Prevent never-ending loop 避免循环引用 if ( target === copy ) { continue; } Recurse if we're merging plain objects or arrays 深度拷贝且值是纯对象或数组,则递归 if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { 如果copy是数组 ( copyIsArray ) { copyIsArray = ; clone为src的修正值 clone = src && jQuery.isArray(src) ? src : []; } else { 如果copy的是对象 clone为src的修正值 clone = src && jQuery.isPlainObject(src) ? src : {}; } Never move original objects,clone them 递归调用jQuery.extend target[ name ] = jQuery.extend( deep,copy ); Don't bring in undefined values 不能拷贝空值 } else if ( copy !== undefined ) { target[ name ] = copy; } } } } Return the modified object 返回更改后的对象 target; };
jQuery.noConflict(removeAll)
$.noConflict(); jQuery(document).ready((){ jQuery("button").click((){ jQuery("p").text("jQuery 仍然在工作!"); }); });
var jq = $.noConflict(); jq(document).ready((){ jq("button").click((){ jq("p").text("jQuery 仍然在工作!"); }); })
($){ $("button").click((){ $("p").text("jQuery 仍然在工作!"); }); });
var Map over jQuery in case of overwrite _jQuery = window.jQuery,1)"> Map over the $ in case of overwrite _$ = window.$; jQuery.noConflict = ( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } jQuery; };
div ="con1"="con2"="con3" $(function() { //初始测试数据 var init=function(){ $("#con1").add("#con3").data("key","10001"); }; init(); var select="newSelect"; var name="key"; //定义一个新选择器 $.expr[ ":" ][ select ] = function( elem ) { return $.data( elem,name ); }; //使用 $("div:newSelect").each(function(){ console.log(this.id);//结果:con1 con3 }) });
本站采用系统自动发货方式,付款后即出现下载入口,如有疑问请咨询在线客服!
售后时间:早10点 - 晚11:30点Copyright © 2024 jiecseo.com All rights reserved. 粤ICP备18085929号
欢迎光临【捷杰建站】,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!
技术营运:深圳市晟艺互动传媒有限公司