jQuery使用之标记元素属性用法实例


Posted in Javascript onJanuary 19, 2015

本文实例讲述了jQuery使用之标记元素属性用法。分享给大家供大家参考。具体分析如下:

这里介绍jQuery的使用主要包括jQuery如何控制页面,包含元素的属性、css样式风格、DOM模型、表单元素和事件处理等。

标记元素的属性

html中每一个标记都具有一些属性,他们这个标记在页面中呈现各种状态,例如下面的<a>标记

<a herf="http://www.baidu.com" title="isaac" target="_blank" id="linkisaac">

该标记<a>表示标记的名称,为一个超链接,另外还有href titile target id等属性表示这个超链接在页面中的各种状态。

本文从jQuery角度出发,进一步讲解页面属性控制方法。

1.each()遍历元素

each(callback)方法主要用于对选择器中的元素进行遍历,它接受一个函数作为参数,这个函数接受一个参数,指代元素的序号。对于标记的属性而言,可以利用each()方法配合this关键字来获取或者设置选择器中的每个元素对应的属性值。

使用each()方法遍历所有元素。

<script type="text/javascript">

    $(function() {

$("p").each(function(index){

    this.title = "这是第"+ (index+1) + "个P,id是:"+ this.id;

});

    });

</script>

<div>

    <p id="001">第一段</p>

    <p id="002">第二段</p>

    <p id="003">第二段</p>

    <p id="004">第二段</p>

    <p id="005">第二段</p>

    <p id="006">第二段</p>

    <p id="007">第二段</p>

</div>

以上代码中有7个P元素,首先利用$("p")获取页面中所有p元素集合,然后使用each()方法遍历所有的图片。通过this关键字对图片进行访问,获取图片的id,并设置图片的id属性。其中each()方法的函数index为元素所处的序号。

2.获取属性的值。attr(name)方法

除了在遍历整个选择器中的元素。很多时候需要得到某个对象的特点的值,在jQuery中可以通过attr(name)方法很轻松的实现这一点。该方法获取元素集中第一个的属性值。如果没有匹配则返回unfefined.

script type="text/javascript">

    $(function() {

 var sTitle = $("p").attr("title");//获取第一个p元素的title属性值

 $("#display").text(sTitle);

    });

</script>

<div>

    <p id="001" title="isaac,hobby">第一段</p>

    <p id="002" title="isaac,hobby">第二段</p>

    <p id="003">第二段</p>

    <p id="004">第二段</p>

    <p id="005">第二段</p>

    <p id="006">第二段</p>

    <p id="007">第二段</p>

    <span id="display"></span>

</div>

如果,想获取第二个p的title属性值,则可以通过位置选择器来完成。

$(function() {

 var sTitle = $("p:eq(1)").attr("title");//获取第2个p元素的title属性值

 $("#display").text(sTitle);

});

3.设置属性的值。attr(name,value)

attr()方法除了可以获取元素的值外,还可以设置属性的值,通用 的表达式为

attr(name,value)

例如:下面代码将使页面的超链接都在新窗口打开。
<script type="text/javascript">

    $(function() {

    $("a[href*=http]").attr("target","_blank");

    });

</script>

例子:
<script type="text/javascript">

    function DisableBack() {

 $("button:gt(0)").attr("disabled", "disabled");

    }

</script>

<div>

    <button onclick="DisableBack()">第一个Button</button> 

    <button>第二个Button</button> 

    <button>第三个Button</button> 

</div>

通过位置选择器,当单击第一个按钮时,后面两个按钮同时被禁用。

很多时候,我们希望属性的值能根据不同的元素有规律的变化。这个时候我们可以使用attr(name,fn),第二个参数为一个函数。该函数接受一个参数,为元素的序号,返回值为字符串。

<script type="text/javascript">

    $(function() {

 $("div").attr("id", function(index) {

     //将id设置为序号相关的参数

     return "div-id" + index;

 }).each(function() {

     //找到每一项的span标记

     $(this).find("span").html("(id='" + this.id + "')");

 });

    });

</script>

<div>第0项 <span></span>

</div>

<div>第1项 <span></span>

</div>

<div>第2项 <span></span>

</div>

返回内容:

第0项 (id='div-id0')

第1项 (id='div-id1')

第2项 (id='div-id2')

以上代码通过attr(name,fn)将页面中所有的<div>块的id属性值设置为序号相关的参数。并通过each()方法遍历div块,将id值显示在各自的<span>标记中。这可以看到jQuery链的强大。

有的时候对于某些元素,希望同时设置它不同的属性,如果采用上面的方法则需要一个个属性设置。jQuery很人性化, attr()还提供一个列表设置attr(properties)方法。可以设置多个属性。

<script type="text/javascript">

    $(function() {

 $("img").attr({

     src: "06.jpg",

     title: "名字1",

     alt: "名字2"

 });

    });

</script>

<img>

<img>

<img>

<img>

<img>

执行结果:

<img src="06.jpg" title="名字1" alt="名字2">

<img src="06.jpg" title="名字1" alt="名字2">

<img src="06.jpg" title="名字1" alt="名字2">

<img src="06.jpg" title="名字1" alt="名字2">

<img src="06.jpg" title="名字1" alt="名字2">

4.删除属性

当设置某个元素属性的值时,可以通过removeAttr(name)方法将属性值删除。这时元素将恢复默认的设置。例如下面的代码使得所有按钮均不被禁用。

$(function() {

 $("button").removeAttr("disabled")

});

removeAttr(name)删除属性相当于html标记中不删除该属性。并不是取消了该标记的这个特点。上述代码运行后,所有按钮依然具有设置为禁用的能力。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript十个最常用的自定义函数(中文版)
Sep 07 Javascript
读jQuery之三(构建选择器)
Jun 11 Javascript
js修改table中Td的值(定义td的双击事件)
Jan 10 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
Oct 17 Javascript
基于jquery实现轮播焦点图插件
Mar 31 Javascript
vue.js指令v-for使用及索引获取
Nov 03 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 Javascript
angular json对象push到数组中的方法
Feb 27 Javascript
Layui Form 自定义验证的实例代码
Sep 14 Javascript
详解element-ui动态限定的日期范围选择器代码片段
Jul 03 Javascript
vue+spring boot实现校验码功能
May 27 Vue.js
jQuery应用之jQuery链用法实例
Jan 19 #Javascript
浅谈Unicode与JavaScript的发展史
Jan 19 #Javascript
jQuery中ready事件用法实例
Jan 19 #Javascript
jQuery中offsetParent()方法用法实例
Jan 19 #Javascript
jQuery中outerWidth()方法用法实例
Jan 19 #Javascript
javascript数据类型示例分享
Jan 19 #Javascript
jQuery中outerHeight()方法用法实例
Jan 19 #Javascript
You might like
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
javascript 跳转代码集合
2009/12/03 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
Python基于DES算法加密解密实例
2015/06/03 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
python学生信息管理系统实现代码
2019/12/17 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
C语言笔试集
2012/07/24 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
2014年营销工作总结
2014/11/22 职场文书
班主任工作总结范文
2015/08/13 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
五年级作文之想象作文
2019/10/30 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android