$代表jQuery对象,同时也是一个函数对象
$()和jQuery()是jQuery的核心函数,执行这两个元素返回的是一个DOM元素
$()是一个函数,等同于jQuery(),可在括号内传参数,传参后可获取元素
具体用法:
1.作为入口函数使用
jQuery入口函数能够在页面加载完成之后才执行代码,并且同一个页面运行多个入口函数也不会发生冲突。
语法:
$(document).ready(function(){
// 执行代码
});
//可以简写为:
$(function(){
//执行代码
});
2.作为选择器
通用语法是:$("selector")或者jQuery("selector"),selector可以是HTML标签,也可以是标签的id,还可是标签的class名。
如:$("#div1")是一个id选择器,相当于javascript中的document.getElementById("#div1");
$(".class1")是一个类选择器,选择CSS的类名是的"class1"所有节点元素。
关于选择器的用法,可以参考相关教程。
3.作为功能函数前缀
如$.trim(str)相当于jQuery.trim(str),也就是把trim()函数作为jQuery对象的一个方法。
4、创建DOM元素
如:
var newP= $("
创建的p元素
");该代码等同于javascript中的:
var newP= document.createElement("p");
var textP= document.createTextNode("创建的p元素");
newP.appendChild(textP);可以发现,jQuery创建元素节点非常简单,也非常明了。
5.自定义方法
jQuery允许用户通过自定义方法来满足一些特殊的要求。
基本语法:
$.fn.functionName=function(){
//执行代码
};
"$.fn"是自定义jQuery方法必须的代码,后面紧跟方法名。
6.关于"$"冲突的解决方案
如果同一个项目下用到了多个javascript框架,而其他框架如JavaScript MVC等也使用了"$",就有可能会产生冲突,因此jQuery提供了noConflict()方法来解决"$"冲突问题。
$.noConflict();
添加该代码后,在jQuery框架中就只能使用jQuery,如$("#div1")就会失效,需使用jQuery("#div1"),从而将$释放给其他空间使用。
当然还有一种方法,就是创建自己的简写。noConflict() 可返回对 jQuery 的引用,我们可以把它存入变量,以供稍后使用。如:
var jq = $.noConflict();
jq(document).ready(function(){
jq("button").click(function(){
jq("p").text("jQuery 仍然在工作!");
});
});