跟着JQuery API学Jquery 之二 属性

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

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

(0)

相关推荐

  • 跟着JQuery API学Jquery 之二 属性

    我们常常需要对节点属性,内容,文本进行变更,就需要用到这里的几个函数了 . 1属性 这里我们看到了一个 attr()函数,有四种形式其中 attr(name)是得到一个所选择的属性值,attr(properties)attr(key,value) attr(key,fn)是为一个属性赋值 这里要说一下的是在Jquery中有这样的设计,得到一个对象的值和给一个对象赋值使用的是同样的函数,用fn(name)来给一个对象赋值,用fn(name,value)来给一个对象赋值. 先看attr(name)是

  • 跟着Jquery API学Jquery之一 选择器

    有了Jquery的选择器,吃饭饭饭香,身体倍棒-- 1.基本 我们知道jquery最常用的就是选择器了,我们看一下jqueryAPI中的 选择器-基本中有5种情况 class ,id ,element, *,还有一个多选择器,这里我们想一下css样式的写法 css样式也有几种情况:1.类样式 2.id样式 3.标签样式, 如果有一个aa的类 ,那么我们定义aa的样式就要写成 .aa{} 如果有一个bb的id,那么我们定义bb的样式就要写成 #bb{} 如果有标签<div></div>

  • 跟着JQuery API学Jquery 之三 筛选

    1.过滤 eq(index) 看这个函数和基础里的:eq貌似是一样的(其实就是一样的) 比如我们对<div>1</div><div>1</div>做选择,那我们可以用$("div").eq(1)或$("div:eq(1)") 来选中第二个div效果是一样的 hasClass(class) 用来判断当前元素是否含有一个类 这个和is("."+class)是一样的,我们来看一下is()这个函数用来干吗的

  • Jquery api 速查表分享

    选择符 匹配 * 所有元素 #id 带有给定ID的元素 element 给定类型的所有元素,比如说html标签 .class 带有给定类的所有元素 a,b 匹配a或者匹配b的元素 a b 作为a后代的匹配b的元素(包括孙子辈的) a > b 作为a子元素的匹配b的元素(只包括儿子辈) :first 结果集中的第一个元素 :last 结果集中的最后一个元素 :not(a) 结果集中与a不匹配的所有元素 :even 结果集中的偶数元素(从0开始计数) :odd 结果集中的奇数元素(从0开始计数) :

  • 跟我一起学JQuery插件开发

    在逛codeproject网站的时候,突然看到一篇文章:How to write plugin in Jquery. 如果对E文好的同学 ,可以看上面的连接.现在我把上面网站的及结合自己的想法写这篇文章.希望能得到大牛们的支持和谅解...大鸟飞过...欢迎拍装.来源: [1]How to write plugin in Jquery. [2]锋利的JQuery  书 [3]RascallySnake的JQuery.extend()详解一.介绍 插件编写的目的是给已经有的一系列方法或函数做一个封装

  • jquery checkbox无法用attr()二次勾选问题的解决方法

    今晨,漂亮的测试妹妹提了个奇怪的bug,说我一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了. 想到与美女有亲密接触机会,马上鸡动起来. 经过偶层层抽次剥茧(da da jiang you),终于知道了原因:attr()在二次选中勾选框时,失效. 比如,如下HTML页面,一点[选中].二点[取消选中].三点[选中],瞧,不行了呗. 1.html <!doctype html> <html lang="en"> <head>

  • jQuery通过改变input的type属性实现密码显示隐藏切换功能

    一般我们做登录注册的时候都会提供一个让用户选择自己输入的密码是否显示的需求, 这种需求我们肯定会想到只要动态改变input的type属性不就好了(text显示/password隐藏): 于是我用了$(''#id).attr('type', 'password')这个API 然而结果并不是我想的那样,出错了 HTML 代码 Uncaught Error: type property can't be changed 意思大概就是这个属性不能被修改. 于是我就googl一手. 然而我得到的结果是这样

  • 基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合

    在上篇给大家介绍了基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串.list集合. 这种方式其实还是利用list集合的方式传给前台,只不过在前台做了一些小小的变化,而控制器代码也进行了部分的优化,值的一提的是:没用的ajax前后台交互舍弃掉了. 控制器代码如下: //实例化公共静态字典表集合 public static List<TC_DictionaryInfo> DInfo = new List<TC_DictionaryInfo

  • jQuery查找节点并获取节点属性的方法

    本文实例讲述了jQuery查找节点并获取节点属性的方法.分享给大家供大家参考,具体如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript" src="js/jqu

  • jquery动态遍历Json对象的属性和值的方法

    1.遍历 json 对象的属性 //定义json对象 var person= { name: 'zhangsan', pass: '123', fn: function(){ alert(this.name+"的密码="+this.pass); } } //遍历person属性包括方法,如果不想显示出方法,可用typeof(person[item])== "function"来判断 for(var item in person){ alert("perso

随机推荐