ajax对象方法的使用
change.js文件的内容
对象函数关键字:fn
jQuery.fn.change = function () {
this.css({"background": "red"});//这里的this是当前jQuery对象函数,不是DOM
} jQuery.fn.onchange = function (c1, c2) {
// this这里的this不是单个对象了而是一个数组了,会导致所有的li都发生改变而不是单个的
//if(this.hasClass(c1)){
// this.removeClass(c1).addClass(c2);
//}else{
// this.removeClass(c2).addClass(c1);
//}
//解决方法:
// this表示当前的jQuery对象
写法1:
this.each(function () {
// this表示当前的Dom对象
var $elem = $(this);
if ($elem.hasClass(c1)) {
$elem.removeClass(c1).addClass(c2);
}else {
$elem.removeClass(c2).addClass(c1);
}
}); }
写法2:
jQuery.fn.onchange = function (c1, c2) {
var $obj = this.each(function () {
// this表示当前的Dom对象
var $elem = $(this);
if ($elem.hasClass(c1)) {
$elem.removeClass(c1).addClass(c2);
}else {
$elem.removeClass(c2).addClass(c1);
}
});
return:$obj;
}
写法3:
jQuery.fn.onchange = function (c1, c2) {
return this.each(function(){
var $elem = $(this);
if ($elem.hasClass(c1)) {
$elem.removeClass(c1).addClass(c2);
} else {
$elem.removeClass(c2).addClass(c1);
}
});
} 实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<script src="js/jquery.min.js"></script>
<script src="js/change.js"></script>
<script>
$(document).ready(function(){
$("#btnClick").click(function(){
$(".demo").change();//对象函数调用
}); $("#onchange").click(function () {
$("li").onchange("bold","italic");
}); });
</script>
<style>
.demo{
width: 100px;
height:100px;
border: 2px solid yellow;
}
li{
list-style: none;
margin-top: 20px;
border: 1px solid #b3b3b3;
padding: 5px;
width: 150px;
}
.bold{
font-weight: bold;
}
.italic{
font-style: italic;
}
#onchange{
width: 80px;
height: 30px;
border: 1px solid #00B83F;
color: #fff;
background-color: #00B83F;
} </style>
</head>
<body>
<div class="demo"></div>
<input type="button" id="btnClick" value="点击改变背景颜色"/> <hr><hr><hr><hr>
<ul class="box">
<li class="bold">金刚葫芦娃</li>
<li class="italic">这个杀手不太冷</li>
<li class="bold">行尸走肉</li>
<li class="italic">捉妖记</li>
<li class="italic">红楼梦</li>
<li class="bold">三国演义</li> </ul>
<input type="button" value="点击切换" id="onchange"/>
</body>
</html>
注:首先给字段添加上需要的类,并定义好需要的样式,js只需要做一件事:就是点击按钮时切换相应的样式,添加或者删除类即可。
需要注意的是需挨个遍历,很有可能出现js把当前的jQuery对象当成数组而不是对象时就会出现问题
ajax对象方法的使用的更多相关文章
- Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法
1 什么是ajax ajax是一种用来改善用户体验的技术,其本质是利用浏览器提供的一个对象(XMLHttpRequest,也可称之为ajax对象) 向服务器发送异步请求;服务器返回部分数据(不是一个完 ...
- Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法、编程步骤、缓存问题、乱码问题
目录 1 什么是ajax 2 获取ajax对象 3 ajax对象的属性和方法 4 使用ajax的编程步骤 5 缓存问题 6 乱码问题 1 什么是ajax ajax是一种用来改善用户体验的技术,其本质是 ...
- 创建ajax对象并兼容多个浏览器方法简单记录
这篇文章主要介绍了如何创建ajax对象并兼容多个浏览器,需要的朋友可以参考下<script> function createAjax(){ var request=false; //win ...
- Ajax详解及其案例分析------如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表
本节主要内容预览: 1 获得Ajax对象 2 使用Ajax对象发送GET请求 3 使用Ajax对象发送POST请求 4 使用Ajax校验用户名 5 POST请求时的乱码处理 6 GET请求时的乱码处理 ...
- 2-jQuery - AJAX load() 方法【进阶篇】
第一篇的AJAX load() 方法过于简单,补充一下,完整的. 格式 $(selector).load(URL,data,callback); 源码 <!DOCTYPE html> &l ...
- Ajax请求(二)--JQuery的Ajax请求方法
JQuery库的Ajax请求的几种方法: 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. 参数含义: url (String ...
- Ajax的方法和使用代码
//1.创建Ajax对象,已经封装好的函数: function createXHR(){ if (typeof XMLHttpRequest != "undefined"){ re ...
- 两种ajax的方法
两种Ajax方法 Ajax是一种用于快速创建动态网页的技术,他通过在后台与服务器进行少量的数据交换,可以实现网页的异步更新,不需要像传统网页那样重新加载页面也可以做到对网页的某部分作出更新,现在这项技 ...
- 原生ajax与封装的ajax使用方法
当我们不会写后端接口来测试ajax时,我们可以使用node环境创建一个本地服务器. 1.创建一个本地服务器可参考http://www.cnblogs.com/heyujun-/p/6793900.ht ...
随机推荐
- Perf -- Linux下的系统性能调优工具,第 1 部分【转】
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 ...
- Python3学习笔记28-HtmlTestRunner
HtmlTestRunner是unittest模块下的一个拓展,用来生成测试报告.原生的可以自己找下下载地址,原生的看着比较丑.这次使用的是经过一些大佬优化之后的.具体GitHub地址:https:/ ...
- k8s技能树
- "贪吃蛇"-css3效果
clip : http://www.w3school.com.cn/cssref/pr_pos_clip.asp 姜糖水 : http://www.cnphp6.com/archives/60 ...
- jenkins每次构建前删除工作目录操作
背景: 想在拉取代码前,删除代码,结果百度白天找到答案,mark下 需要安装Workspace Cleanup Plugin插件, 再看创建任务项,勾选即可实现
- [C]va_list可变长参数的使用
一.概述 运用标准C的头文件stdarg.h提供的宏可以实现函数的自定义传参个数: 二.语法 1.va_list是一个可变长参数类型,在使用可变长参数的函数中可以定义1个或多个va_list类型参数, ...
- spring中BeanFactory和FactoryBean的区别
共同点: 都是接口 区别: BeanFactory 以Factory结尾,表示它是一个工厂类,用于管理Bean的一个工厂 在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器 ...
- .htaccess技巧: URL重写(Rewrite)与重定向
URL重定向是.htaccess的重头戏,它可以将长地址转为短地址.将动态地址转为静态地址.重定向丢失的页面.防止盗链.实现自动语言转换等.笔者觉得难点是在正则表达式的运用和理解上.有关htacces ...
- PHP针对数字的加密解密类,可直接使用
<?phpnamespace app;/** * 加密解密类 * 该算法仅支持加密数字.比较适用于数据库中id字段的加密解密,以及根据数字显示url的加密. * @author 深秋的竹子 * ...
- pip的常用命令
前言 pip作为Python的御用包管理工具有着强大的功能,但是许多命令需要我们使用的时候借助搜索引擎查找(尤其是我), 于是我想将我使用到的命令整合下来,以后不用麻烦去找了,也希望能给你带来帮助.文 ...