首页 > 代码库 > jQuery与直接写JS的区别详细解析
jQuery与直接写JS的区别详细解析
要使用jQuery,首先要在HTML代码最前面加上对jQuery库的引用,比如:
<script language="javascript" src="http://www.mamicode.com/js/jquery.min.js"></script>
库文件既可以放在本地,也可以直接使用知名公司的CDN,好处是这些大公司的CDN比较流行,用户访问你网站之前很可能在访问别的网站时已经缓存在浏览器中了,所以能加快网站的打开速度。另外一个好处是显而易见的,节省了网站的流量带宽。
jQuery代码具体的写法和原生的Javascript写法在执行常见操作时的区别如下:
1 定位元素
JS
document.getElementById("abc")
jQuery
$("#abc") 通过id定位
$(".abc") 通过class定位
$("div") 通过标签定位
需要注意的是JS返回的结果是这个元素,jQuery返回的结果是一个JS的对象。以下例子中假设已经定位了元素abc。
2 改变元素的内容
JS
abc.innerHTML = "test";
jQuery
abc.html("test");
3 显示隐藏元素
JS
abc.style.display = "none";
abc.style.display = "block";
jQuery
abc.hide();
abc.show();
abc.toggle();
//在显示和隐藏之间切换(2012.4.21更新)
4 获得焦点
JS和jQuery是一样的,都是abc.focus();
5 为表单赋值
JS
abc.value = "http://www.mamicode.com/test";
jQuery
abc.val("test");
6 获得表单的值
JS
alert(abc.value);
jQuery
alert(abc.val());
7 设置元素不可用
JS
abc.disabled = true;
jQuery
abc.attr("disabled", true);
8 修改元素样式
JS
abc.style.fontSize=size;
jQuery
abc.css(‘font-size‘, 20);
JS
abc.className="test";
JQuery
abc.removeClass();
abc.addClass("test");
9 Ajax
JS
自己创建对象,自己处理浏览器兼容等乱七八糟的问题,略去不表
jQuery
$.get("abc.php?a=1&b=2", recall);
postvalue = "http://www.mamicode.com/a=b&c=d&abc=123";
$.post("abc.php", postvalue, recall);
function recall(result) {
alert(result);
//如果返回的是json,则如下处理
//result = eval(‘(‘ + result + ‘)‘);
//alert(result);
}
10 判断复选框是否选中
jQuery
if(abc.attr("checked") == "checked")