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 ...
随机推荐
- JS 如何将 HTML 页面导出为多页 PDF
参考链接:https://blog.csdn.net/pwc1996/article/details/70141383
- Hadoop配置文件参数详解
core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <val ...
- pythonの信号量
#!/usr/bin/env python import threading,time def run(n): # 申请锁 semaphore.acquire() time.sleep(1) prin ...
- IntelliJ IDEA 配置
1.让IntelliJ IDEA 驼峰选择生效 驼峰选择,就是选择的时候按照驼峰规则选择单词,不是选择整个单词 让IntelliJ IDEA 驼峰选择生效 2.查看当前类中的所有方法 Alt+7 3. ...
- [转] 浅谈Trie树(字典树)
原文地址:https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html Trie树(字典树) 一.引入 字典是干啥的?查找字的. 字典树自然也是起查找 ...
- 【php】下载站系统Simple Down v5.5.1 xss跨站漏洞分析
author:zzzhhh 一. 跨站漏洞 利用方法1,直接在搜索框处搜索<script>alert(/xss/)</script>//',再次刷新,跨站语句将被 ...
- GAN_李弘毅讲解
GAN_李弘毅讲解: 上式中,xi从data中sample的一部分,现在的目的就是最大化这个似然函数,使得Generator最可能产生data中的这些sample: 上式中之所以如此设计V函数,是为了 ...
- Git学习笔记07-删除文件
在Git中,删除也是一种修改.先新建一个文件,添加并提交.然后删除下看看. 一般删除直接从工作区把文件删了,或者使用rm命令 这是使用git status查看状态,会告诉我们删了哪个文件 这个 ...
- mysql查询sending data占用大量时间的问题处理
问题描述:某条sql语句在测试环境执行只需要1秒不到,到了生产环境执行需要8秒以上 在phpmyadmin里面执行性能分析,发现sending data占用了差不多90%以上的时间 查询一下“Send ...
- Android App签名打包
Andriod应用程序如果要在手机或模拟器上安装,必须要有签名! 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序 ...