跟着JQuery API学Jquery 之二 属性


Posted in Javascript onApril 09, 2010

我们常常需要对节点属性,内容,文本进行变更,就需要用到这里的几个函数了 。

1属性
这里我们看到了一个 attr()函数,有四种形式其中 attr(name)是得到一个所选择的属性值,attr(properties)attr(key,value) attr(key,fn)是为一个属性赋值
这里要说一下的是在Jquery中有这样的设计,得到一个对象的值和给一个对象赋值使用的是同样的函数,用fn(name)来给一个对象赋值,用fn(name,value)来给一个对象赋值。
先看attr(name)是如何来得到一个属性值的
我们有
<img src="1.jpg"/>
这样我们希望得到img中stc的值 首先我们使用选择器来选中这个img $(“img”)得到了上面的那个节点,然后我们用attr()来得到src的值:$(”img”).attr(“src”)
这样我们就得到了1.jpg这个值

现在我们希望把1.jpg这个图想换成2.jpg这个图像:就用 $(“img”).attr(“src”,”2.jpg”) ,这个就是fn(name,key)这种形式,当然我们知道javascript中比如 onclick中可能是一个函数,当然其他的属性也可以是函数,所以我们这个key也可以是一个函数 $(“img”).attr(“src”,function(){return ‘3.jpg'}),这是第二种形式其实和第一种是一样的
第三种,也就是attr(properties)这种是以josn格式来以name:value来对属性进行赋值,在Jquery中,这种方式是很常用的,结构也非常的清晰
比如我们要设置 img的alt和src 可以直接写成$(“img”).attr({src:”4.jpg”,alt:”说明”})
一般我们做系统都要有增加、修改、删除。前面我们说了前两个了,那如何删除一个属性呢
这里有要用到 removeAttr(name)这里就很容易理解了 和arrt(name)刚好相反,一个是得到一个属性,一个是删除一个属性 $(“img”).removeAttr(“alt”)

好了我们总结一下操作属性的几个函数
查找:$(”img”).attr(“src”) 查找出src的值
添加/修改$(“img”).attr(“src”,”2.jpg”) $(“img”).attr(“src”,function(){return “2.jpg”}) $(“img”).attr({src:”2.jpg”})
删除 $(“img”).removeAttr(“src”)
2 css类
当我们需要给一个节点比如
<div></div>
来添加一个css的样式 那我们需要怎么做呢
我们按照上面属性的方法 我们先在css中写一个class样式.sty{……},我们选择这个div 然后给他添加一个class $(“div”).attr(“class”,”sty”),
后来我们发现这样是不是太麻烦了,所以就发明了addClass(class)来对上面的进行简写
$(“div”).addClass(“sty”)就完事了。
既然有添加当然也就免不了删除了 $(“div”).removeClass(“sty”) 删除sty这个类

还有一个函数toggleClass(class)如果存在就删除,不存在就添加。
这个确实是一个很怪异的函数这个有什么用呢,比如我们在一组一个
<ul>
<li><li>
<li><li>
<li><li>
</ul>
上我们在对li上面的鼠标进入和鼠标移出都添加上这个函数的话 ,就可以实现鼠标移动的效果了

3 html
这里我们看到了一个html()和一个html(val)就是我们前面说的fn(name)fn(name,value)这种类型的函数
Html()是取得第一个匹配元素的html类容
Html(val)是设置匹配的节点的html的类容

4 文本
这里同样有两个函数 text()text(val)一个是取值 一个是设置值 和html差不多
取值不同的是html()是取匹配的第一个元素的html类容,而text是取得的所有的text而忽略了html节点
而赋值的话text()对html的类容比如<a></a>会转换成文本 而html()仍然解释为html元素

5值
这里还是一样 val()和val(val)一个是获取值,一个是设置值 比如
<input value="some text"/>
我们获取这个值 some text $(“input”).val()
设置这个值$(“input”).val(“xxiu”)

这里我们对属性就看完了 我们发现我们只看了几个函数而已
attr(name[,val,|fn]) removeAttr(name) 添加设置删除一个属性
addClass(class) removeClass(class) 添加设置删除一个类
html([val]) 得到/设置一个heml
text([val]) 得到/设置一个text
val([val]) 得到/设置一个value

Javascript 相关文章推荐
禁止你的左键复制实用技巧
Jan 04 Javascript
JS刷新框架外页面七种实现代码
Feb 18 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
浅析BootStrap栅格系统
Jun 07 Javascript
Bootstrap布局之栅格系统详解
Jun 13 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
JS给swf传参数的实现方法
Sep 13 Javascript
纯js实现画一棵树的示例
Sep 05 Javascript
Angular2里获取(input file)上传文件的内容的方法
Sep 05 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
Vue中使用的EventBus有生命周期
Jul 12 Javascript
浅谈对于react-thunk中间件的简单理解
May 01 Javascript
JSON 教程 json入门学习笔记
Sep 22 #Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 #Javascript
javaScript call 函数的用法说明
Apr 09 #Javascript
javascript 自动填写表单的实现方法
Apr 09 #Javascript
Extjs入门之动态加载树代码
Apr 09 #Javascript
JS 非图片动态loading效果实现代码
Apr 09 #Javascript
extJs 下拉框联动实现代码
Apr 09 #Javascript
You might like
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
js控制input输入字符解析
2013/12/27 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
Vue如何使用混合Mixins和插件开发详解
2020/02/05 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
python各种语言间时间的转化实现代码
2016/03/23 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
实习心得体会
2014/01/02 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
导游词之安徽醉翁亭
2020/01/10 职场文书
python实现的人脸识别打卡系统
2021/05/08 Python
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL