jquery attr()属性
程序员文章站
2022-07-12 21:42:03
...
在JS中设置节点的属性与属性值用到setAttribute(),获得节点的属性与属性值用到getAttribute(),而在jquery中,用一个attr()就可以全部搞定了,赞一个先 ^^
jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式。
1. attr(属性名) //获取属性的值(取得第一个匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined )
2. attr(属性名, 属性值) //设置属性的值 (为所有匹配的元素设置一个属性值。)
3. attr(属性名,函数值) //设置属性的函数值 (为所有匹配的元素设置一个计算的属性值。不提供值,而是提供一个函数,由这个函数计算的值作为属性值。)
4.attr(properties) //给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }。(这是一种在所有匹配元素中批量设置很多属性的最佳方式。 注意,如果你要设置对象的class属性,你必须使用'className' 作为属性名。或者你可以直接使用'class'或者'id'。)
就这么简单, attr 其实就是原生js中 getAttribute 的简化实现, 而removeAttr 就是 removeAttribute 的简写了。
------------------------------------------------------------------------------
Jquery attr 和removeAttr 的简单使用
用法一: $(选择器).attr(属性名) 它的作用就是获取指定元素( $(选择器)部分 )的指定属性的值. 看例子:
有这样一段html:
<img src=“http://t.douban.com/lpic/s3791510.jpg” alt=“变形金刚海报” width=“500″ height=“300″ />
那么你要获取到图片的地址该怎么办呢? 这样: $(”img”).attr(”src”) 就这么简单, 你用alert或者其它形式输出一下就看到图片的地址了. 那么我要取得图片的描述呢? 这样: $(”img”).attr(”alt”) .够简单吧. 它不但可以取到html本身有的属性, 而且也能取到你自己定义的属性, 比如上例中的 funny属性, 自己试试能不能获取到它的值. 注意: 如果你要获取的属性是不存在的, 那么jquery就会返回一个 undefined .
用法二: $(选择器).attr(属性名, 属性值) 它的作用是为所有匹配的元素设置一个属性值。
假如页面中有一堆这样的html:
<img /><img />
我们写一句这样的jquery代码: $(”img”).attr(”src”,”http://t.douban.com/lpic/s3791510.jpg”) 这样上面一堆无意义的img标签就变成了:
<img src=“http://t.douban.com/lpic/s3791510.jpg” /><img src=“http://t.douban.com/lpic/s3791510.jpg” />
很容易理解吧. 假如我们想给图片设置高度,那么只要 $(”img”).attr(”height”,”300″) . 再要设置宽度就这样: $(”img”).attr(”width”,”500″) . 如此看来是没有什么问题, 但是当要设置多个属性时, 一个一个的这样写真是太麻烦了, 那么我们来看第三个用法.
用法三: $(选择器).attr(Map) 它的意思就是给指定元素设置多个属性值, 我们重点看一下 Map 是什么意思. 它其实是这样一种序列:
{属性名一: “属性值一” , 属性名二: “属性值二” , … … }
那么我要实现用法二中的例子只要这样写:
$(“img”).attr({src:“http://t.douban.com/lpic/s3791510.jpg” , height: “300″ , width : “500″})
以上我们学会了获取属性值, 设置属性值, 那么怎么删除属性呢?
jquery中删除属性的关键词是: removeAttr 注意A是大写的. 看看怎么用的:
同样是用法一中的html代码, 我想删掉图片的高度属性, 那么就这样:
$(“img”). removeAttr(“height”);
嗯,就这么简单. attr 其实就是原生js中 getAttribute 的简化实现, 而removeAttr 就是 removeAttribute 的简写了
jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式。
1. attr(属性名) //获取属性的值(取得第一个匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined )
2. attr(属性名, 属性值) //设置属性的值 (为所有匹配的元素设置一个属性值。)
3. attr(属性名,函数值) //设置属性的函数值 (为所有匹配的元素设置一个计算的属性值。不提供值,而是提供一个函数,由这个函数计算的值作为属性值。)
4.attr(properties) //给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }。(这是一种在所有匹配元素中批量设置很多属性的最佳方式。 注意,如果你要设置对象的class属性,你必须使用'className' 作为属性名。或者你可以直接使用'class'或者'id'。)
<p title="你最喜欢的水果是。">你最喜欢的水果是?</p> <ul> <li title="苹果汁">苹果</li> <li title="橘子汁" value="123">橘子</li> <li title="菠萝汁">菠萝</li> </ul> 1.attr(name)//获取属性的值 1.1 使用attr(name)获取title值: <script> alert($("ul li:eq(1)").attr("title")); </script> 结果:橘子汁 1.2 使用attr(name)获取value值: <script> alert($("ul li:eq(1)").attr("value")); </script> 结果:123 2. attr(name,value) //设置属性的值 2.1 使用attr(name,value)修改title值为:不吃橘子 <script> $("ul li:eq(1)").attr("title","不吃橘子"); alert($("ul li:eq(1)").attr("title")); </script> 结果:不吃橘子 3. attr(name,fn) //设置属性的函数值 3.1 把value属性的值设置设给title属性。 <script> $("ul li:eq(1)").attr("title",function(){ return this.value}); alert($("ul li:eq(1)").attr("title")); </script> 结果:123 4.attr(properties) //将一个“名/值”形式的对象设置为所有匹配元素的属性 4.1 获取<ul>里第2个<li>设置title和value属性。 <script> $("ul li:eq(1)").attr({title:"不喝橘子汁",value:"不是123"}); alert($("ul li:eq(1)").attr("title")); alert($("ul li:eq(1)").attr("value")); </script> 结果:不喝橘子汁 不是123 4.2 获取<ul>里第2个<li>设置class。 <script> $("ul li:eq(1)").attr({className:"lili"}); </script> 结果:第二个li的html:<li class="lili" title="橘子汁" value="123">橘子</li> 4.3 获取<ul>里第2个<li>设置id。 <script> $("ul li:eq(1)").attr({id:"lili"}); </script> 结果:第二个li的html:<li id="lili" title="橘子汁" value="123">橘子</li> 4.4 获取<ul>里第2个<li>设置style。 <script> $("ul li:eq(1)").attr({style:"color:red"}); </script> 那么怎么删除属性呢? <script> $("ul li:eq(1)").removeAttr ("title"); </script>
就这么简单, attr 其实就是原生js中 getAttribute 的简化实现, 而removeAttr 就是 removeAttribute 的简写了。
------------------------------------------------------------------------------
Jquery attr 和removeAttr 的简单使用
用法一: $(选择器).attr(属性名) 它的作用就是获取指定元素( $(选择器)部分 )的指定属性的值. 看例子:
有这样一段html:
<img src=“http://t.douban.com/lpic/s3791510.jpg” alt=“变形金刚海报” width=“500″ height=“300″ />
那么你要获取到图片的地址该怎么办呢? 这样: $(”img”).attr(”src”) 就这么简单, 你用alert或者其它形式输出一下就看到图片的地址了. 那么我要取得图片的描述呢? 这样: $(”img”).attr(”alt”) .够简单吧. 它不但可以取到html本身有的属性, 而且也能取到你自己定义的属性, 比如上例中的 funny属性, 自己试试能不能获取到它的值. 注意: 如果你要获取的属性是不存在的, 那么jquery就会返回一个 undefined .
用法二: $(选择器).attr(属性名, 属性值) 它的作用是为所有匹配的元素设置一个属性值。
假如页面中有一堆这样的html:
<img /><img />
我们写一句这样的jquery代码: $(”img”).attr(”src”,”http://t.douban.com/lpic/s3791510.jpg”) 这样上面一堆无意义的img标签就变成了:
<img src=“http://t.douban.com/lpic/s3791510.jpg” /><img src=“http://t.douban.com/lpic/s3791510.jpg” />
很容易理解吧. 假如我们想给图片设置高度,那么只要 $(”img”).attr(”height”,”300″) . 再要设置宽度就这样: $(”img”).attr(”width”,”500″) . 如此看来是没有什么问题, 但是当要设置多个属性时, 一个一个的这样写真是太麻烦了, 那么我们来看第三个用法.
用法三: $(选择器).attr(Map) 它的意思就是给指定元素设置多个属性值, 我们重点看一下 Map 是什么意思. 它其实是这样一种序列:
{属性名一: “属性值一” , 属性名二: “属性值二” , … … }
那么我要实现用法二中的例子只要这样写:
$(“img”).attr({src:“http://t.douban.com/lpic/s3791510.jpg” , height: “300″ , width : “500″})
以上我们学会了获取属性值, 设置属性值, 那么怎么删除属性呢?
jquery中删除属性的关键词是: removeAttr 注意A是大写的. 看看怎么用的:
同样是用法一中的html代码, 我想删掉图片的高度属性, 那么就这样:
$(“img”). removeAttr(“height”);
嗯,就这么简单. attr 其实就是原生js中 getAttribute 的简化实现, 而removeAttr 就是 removeAttribute 的简写了