一、前言

本篇主要讲解如何使用jQuery获取和操作元素的属性和css样式

二、“DOM属性”与元素属性

1.运行一下代码

<img src="/images/logo_small.gif" class="img_logo" />

2.分析代码

元素属性src:/images/logo_small.gif

元素属性class:img_logo

DOM属性currentSrc:http://localhost/images/logo_small.gif

DOM属性className:img_logo

三、操作“DOM属性”

1.使用each函数来遍历jQuery包装集

<img src="/images/logo_small.gif" class="img_logo" />
<script>
$("img").each(function (index) {
alert("index:" + index + "|className:" + this.className + "|alt:" + this.alt);
this.alt = "图片";
alert("index:" + index + "|className:" + this.className + "|alt:" + this.alt);
});
</script>

2.each函数的说明

each( callback )  Returns: jQuery包装集

对包装集中的每一个元素执行callback方法,其中callback方法接收一个参数,表示当前遍历的索引值,从0开始

四、操作“元素属性”

1.在JavaScript中可以使用getAttribute和setAttribute来操作元素的“元素属性”

<img src="/images/logo_small.gif" class="img_logo" />
<script>
var img = document.getElementsByClassName("img_logo")[0];
alert(img.getAttribute("src"));
img.setAttribute("src", "http://www.cnblogs.com");
alert(img.getAttribute("src"));
</script>

2.jQuery中使用attr()包装集函数,操作包装集中所有元素的属性

$("img").attr("src"); 返回文档中第一个匹配图像的src属性值
$("img").attr({ src: "test.jpg", alt: "Kimisme" }); 所有图像设置src和alt属性
$("img").attr("src","test.jpg") 所有图像设置src属性
$("img").attr("title", function() { return this.src }); 所有匹配图像的src属性的值设置为title属性的值
$("img").removeAttr("src"); 将文档中图像的src属性删除

五、修改css样式

$("p").addClass("selected");

$("p").addClass("colorRed borderBlue");
为匹配的元素加上 'selected' 类

添加两个class
$("p").hasClass("selected") 判断包装集是否有class = selected
$("p").removeClass("selected");

$("p").removeClass();
从匹配的元素中删除 'selected' 类

移除所有class
$("p").toggleClass("selected"); 为匹配的元素切换 'selected' 类
var count = 0; $("p").click(function () { $(this).toggleClass("highlight", count++ % 3 == 0); }); 每三次点击切换高亮样式

六、设置常用属性

1.高和宽相关

$("p").height(); 获取第一个匹配的段落的高
$("p").height(20); 把所有段落的高设为 20px
$("p").width() 获取第一个匹配的段落的宽
$("p").width(20); 将所有段落的宽设为 20px
innerHeight( )  
innerWidth( )  
outerHeight( [margin] )  
outerWidth( [margin] )  

2.位置相关

var p = $("p");var offset = p.offset();console.log(offset.top+","+offset.left); 获取匹配元素在当前窗口的相对偏移(18,6)
var p = $("p");var position = p.position();console.log(position.top + "," + position.left); 获取匹配元素相对父元素的偏移(0,8)
var p = $("p");var scrollTop = p.scrollTop();console.log(scrollTop); 获取匹配元素相对滚动条顶部的偏移(0)
var p = $("p");var scrollTop = p.scrollTop(300); 设定垂直滚动条值
var p = $("p");var scrollLeft = p.scrollLeft();console.log(scrollLeft); 获取匹配元素相对滚动条左侧的偏移(0)
var p = $("p");var scrollLeft= p.scrollLeft(300); 设置相对滚动条左侧的偏移

七、参考文章

http://www.cnblogs.com/zhangziqiu/archive/2009/05/05/jQuery-Learn-4.html

jQuery学习笔记(4)-设置元素的属性和样式的更多相关文章

  1. HTML5学习笔记三 HTML元素、属性、标题、段落简介

    一.HTML 元素 HTML 元素以开始标签起始 HTML 元素以结束标签终止 元素的内容是开始标签与结束标签之间的内容 某些 HTML 元素具有空内容(empty content) 空元素在开始标签 ...

  2. JQuery学习笔记(2)——数组 属性 事件

    each遍历 JQueryObjectArray.each(function(index,Element)) $(".myTable").each(function(i,ele){ ...

  3. 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式

    本系列文章导航 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 一.摘要 本篇文章讲解如何使用jQuery获取和操作元素的属性和CSS样式. 其中DOM属性和元素属性的区分值得 ...

  4. jquery学习笔记(二):DOM元素操作

    内容来自[汇智网]jquery学习课程 2.1 元素属性操作 1.获取元素的属性 语法:attr(name) 参数name表示属性的名称 2.设置元素的属性 单个属性设置语法:attr(key,val ...

  5. WPF 学习笔记-设置属性使窗口不可改变大小

    原文:WPF 学习笔记-设置属性使窗口不可改变大小 调整Windows下的ResizeMode属性: ResizeMode = NoResize Resize属性是控制Windows是否可以改变大小, ...

  6. Python3+Selenium3+webdriver学习笔记10(元素属性、页面源码)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记10(元素属性.页面源码)'''from selenium i ...

  7. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  8. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  9. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

随机推荐

  1. [bzoj2194]快速傅立叶之二_FFT

    快速傅立叶之二 bzoj-2194 题目大意:给定两个长度为$n$的序列$a$和$b$.求$c$序列,其中:$c_i=\sum\limits_{j=i}^{n-1} a_j\times b_{j-i} ...

  2. NSA开发的工控ICS/SCADA态势感知开源工具Grassmarlin(附下载地址)

    工具简介 GRASSMARLIN是一款由美国国家安全局开发的,能够帮助运维工程师在IP网络上发现并编目监控和数据采集系统(SCADA)和工业控制系统(ICS)主机的开源软件工具,也被称为被动网络映射器 ...

  3. 【nginx】nginx与apache的优缺点比较

    参考: http://zyan.cc/nginx_php_v6/ nginx相对于apache的优点: 1.轻量级,同样的web 服务,比apache服务器占用更少的内存及资源 2.抗并发,nginx ...

  4. 配置文件的备份和IOS 的备份

    分享到 QQ空间 新浪微博 百度搜藏 人人网 腾讯微博 开心网 腾讯朋友 百度空间 豆瓣网 搜狐微博 百度新首页 QQ收藏 和讯微博 我的淘宝 百度贴吧 更多... 百度分享 广场 登录 注册 关注此 ...

  5. node-V8

    Node是基于V8引擎的,所以我们运行Js文件不会存在问题,下面演示一下: 因为安装Vscode后,会自动添加本路径到path,所以可以用 code yes.js 来执行创建文件 Vscode是基于N ...

  6. HDU 2054 A == B ?(找小数点)

    题目链接:pid=2054" target="_blank">http://acm.hdu.edu.cn/showproblem.php?pid=2054 Prob ...

  7. 使用 Code Map 理解复杂代码1 ——Visual Studio2012

    第一次知道code map是在Visual Studio Ultimate 2012自带的解说上面,当时认为十分好奇,所以查了查.结果一查就是好几天.原来Visual Studio Ultimate  ...

  8. Navicat for MySQL 激活方法

    Navicat for MySQL 激活方法: 首先下载 PatchNavicat.exe ,不知道在哪儿下的可以直接拿走: 链接:https://pan.baidu.com/s/1yy4M8IDx8 ...

  9. GitLab: API is not accessibl

    git push -u origin masterGitLab: API is not accessiblefatal: Could not read from remote repository. ...

  10. jQuery的each内部的break,continue

    // break, continue在each等迭代器里都不可用 // return false = break // return true = continue function isClicke ...