一、获得和设置内容

三个简单实用的用于 DOM 操作的 jQuery 方法:

  • text() - 设置或返回所选元素的文本内容, 得到匹配元素集合中每个元素的文本内容结合,包括他们的后代, 即由所有匹配元素包含的文本内容组合起来的文本
  • html() - 设置或返回所选元素的内容(包括 HTML 标记),从匹配的第一个元素中获取HTML内容
  • val() - 设置或返回表单字段的值,获取匹配的元素集合中第一个元素的当前值,主要用于获取表单元素的值, 至于 <select multiple="multiple"> 元素, .val()方法返回一个包含每个选中的 option 的数组
  • prop()-获取在匹配的元素集中的第一个元素的属性值, 如果没有匹配的元素。它返回undefined
  • attr()-获取第一个匹配元素的属性值, 要获取每个单独的元素的属性值, 我们需要依靠jQuery的 .each()或者.map()方法做一个循环

attr()不应该用在普通的对象,数组,窗口(window)或文件(document)上。若要检索和更改DOM属性请使用.prop()方法

回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world! (index: " + i + ")";
});
}); $("#btn2").click(function(){
$("#test2").html(function(i,origText){
return "Old html: " + origText + " New html: Hello <b>world!</b> (index: " + i + ")";
});
}); });
</script>
</head>
<body>
<p id="test1">这是<b>粗体</b>文本。</p>
<p id="test2">这是另一段<b>粗体</b>文本。</p>
<button id="btn1">显示旧/新文本</button>
<button id="btn2">显示旧/新 HTML</button>
</body>
</html>

attr() 方法也用于设置/改变属性值。

$("button").click(function(){
$("#w3s").attr("href","http://www.w3school.com.cn/jquery");
});

attr()回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

$("button").click(function(){
$("#w3s").attr("href", function(i,origValue){
return origValue + "/jquery";
});
});
<p><a href="http://www.w3school.com.cn" id="w3s">w3school.com.cn</a></p>
<button>改变 href 值</button>

.val() 方法主要用于获取表单元素的值。至于 <select multiple="multiple"> 元素, .val()方法返回一个包含每个选中的 option 的数组。

对于 下拉框(select) 和复选框(checkbox), 你也可以使用:selected 和 :checked选择器来获取值,举个例子:

$('select.foo option:selected').val();    // 从下拉框中获取值
$('select.foo').val(); // 从一个或更多的下拉框中获取值
$('input:checkbox:checked').val(); // 从选中的复选框中获取值
$('input:radio[name=bar]:checked').val(); // 从单选选框中获取值

二、添加

添加新内容的四个 jQuery 方法:

  • append() - 在被选元素的结尾插入内容
  • appendTo()-将匹配的元素插入到目标元素的最后面(里面的后面)
  • prepend() - 在被选元素的开头插入内容
  • after() - 在被选元素之后插入内容
  • before() - 在被选元素之前插入内容

The .append().appendTo()两种方法功能相同,主要的不同是语法——内容和目标的位置不同。对于.append(), 选择表达式在函数的前面,参数是将要插入的内容。对于.appendTo()刚好相反,内容在方法前面,它将被放在参数里元素的末尾

三、删除和替换

删除元素和内容,一般可使用以下两个 jQuery 方法:

  • remove() - 删除被选元素(及其子元素), remove() 方法也可接受一个参数,允许您对被删元素进行过滤
  • removeAttr()- 用提供的内容替换所有匹配的元素
  • empty() - 从被选元素中删除子元素
  • removeProp()-方法用来删除由.prop()方法设置的属性集
  • replaceWith()-用提供的内容替换所有匹配的元素
  • wrap()-在每个匹配的元素外层包上一个html元素
  • wrapAll()-在所有匹配元素外面包一层HTML结构
  • wrapInner()-在匹配元素里的内容外包一层结构
  • <!DOCTYPE html>
    <html>
    <head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
    $("button").click(function(){
    $("p").remove(".italic");
    });
    });
    </script>
    </head>
    <body>
    <p>This is a paragraph in the div.</p>
    <p class="italic"><i>This is another paragraph in the div.</i></p>
    <p class="italic"><i>This is another paragraph in the div.</i></p>
    <button>删除 class="italic" 的所有 p 元素</button>
    </body>
    </html>

变相节点的替换

$("#d1").before("<div>hello</div>").remove().css("color","#f00");

四、操作 CSS

  • addClass() - 向被选元素添加一个或多个类
  • removeClass() - 从被选元素删除一个或多个类
  • toggleClass() - 对被选元素进行添加/删除类的切换操作
  • css() - 设置或返回被选元素的一个或多个样式属性
  • hasClass()-检查匹配的元素是否含有某个特定的类
  • toggleClass()-切换添加、删除一个或多个类

下面列出的这些方法设置或返回元素的 CSS 相关属性。

CSS 属性 描述
css() 设置或返回匹配元素的样式属性。
height() 设置或返回匹配元素的高度。
offset() 返回第一个匹配元素相对于文档的位置。
offsetParent() 返回最近的定位祖先元素。
position() 返回第一个匹配元素相对于父元素的位置。
scrollLeft() 设置或返回匹配元素相对滚动条左侧的偏移。
scrollTop() 设置或返回匹配元素相对滚动条顶部的偏移。
width() 设置或返回匹配元素的宽度。

jQuery 尺寸 方法

jQuery 提供多个处理尺寸的重要方法:

  • width():设置或返回元素的宽度(不包括内边距、边框或外边距)
  • height():设置或返回元素的高度(不包括内边距、边框或外边距)
  • innerWidth():返回元素的宽度(包括内边距)
  • innerHeight():返回元素的高度(包括内边距)
  • outerWidth():返回元素的宽度(包括内边距和边框)
  • outerHeight():返回元素的高度(包括内边距和边框)

更多的 width() 和 height()

  • //返回文档(HTML 文档)和窗口(浏览器视口)的宽度和高度
    $("button").click(function(){
    var txt="";
    txt+="Document width/height: " + $(document).width();
    txt+="x" + $(document).height() + "\n";
    txt+="Window width/height: " + $(window).width();
    txt+="x" + $(window).height();
    alert(txt);
    });
    //指定的 <div> 元素的宽度和高度
    $("button").click(function(){
    $("#div1").width(500).height(500);
    });

    refer:

jQuery学习笔记1——操作属性的更多相关文章

  1. jquery学习笔记---Dom操作

    一.DOM操作的分类 DOM(document object model)是一种与浏览器.平台.语言无关的接口,使用该接口可以访问页面中的·所有组件.DOM的操作可以分为DOM Core.HTML-D ...

  2. Jquery学习笔记:操作form表单元素之二(复选框和单选框)

    在上面文章的基础上,我们介绍如何操作表单元素中的 复选框和单选框. 一.复选框 <label> <input type="checkbox" id="i ...

  3. Jquery学习笔记:操作form表单元素之一(文本框和下拉框)

    一.概述 在web页面开发中,经常需要获取和设置表单元素的值(如文本框中的内容),特别是在ajax应用中,更是常态.本文系统的介绍下如何操作. 同操作其它html元素一样,操作的过程差不多. 第一步, ...

  4. jQuery学习笔记(3)-操作jQuery包装集的函数

    一.前言 在使用jQuery选择器获取到jQuery包装集后,我们就要对这些包装集进行各种操作 二.创建新的元素 1.使用HTMLDOM创建元素 (1)什么是DOM 当网页被加载时,浏览器会创建页面的 ...

  5. jQuery学习笔记之DOM操作、事件绑定(2)

    jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...

  6. jQuery学习之------对标签属性的操作

    jQuery学习之------标签的属性 <a href=””>链接</a>此处的href就是该a标签带有的属性 在js中对标签的属性的操作方法有 1.1getAttribut ...

  7. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  8. jQuery 学习笔记

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

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

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

随机推荐

  1. git commit 出现 changes not staged for commit 错误

    git commit 出现 changes not staged for commit 错误 修复: 参考:http://stackoverflow.com/questions/8488887/git ...

  2. python错误处理/调试/单元测试/文档测试

    一.错误处理 1.错误处理 try: ... except Exception1: ... except Exception2: ... finally: ... 如果在try中发生错误,那么exce ...

  3. 修改HTML5 input placeholder默认颜色

    WebKit和Blink(Safari,Google Chrome, Opera15+)使用伪元素 ::-webkit-input-placeholder Mozilla Firefox 4-18使用 ...

  4. Struts 第一个Hello页面

    在工程目录的src下新建 struts.xml   <?xml version="1.0" encoding="UTF-8" ?> <!DOC ...

  5. Https与Http,SSL,DevOps, 静态代码分析工具,RFID, SSH, 非对称加密算法(使用最广泛的一种是RSA), 数字签名, 数字证书

    在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和h ...

  6. spring jdbc框架

    spring+jdbc 1.jdbc编程的特点: 模板编程 固定代码+动态的参数 spring产生dataSource JdbcTemplate{//模板编程 private DataSource d ...

  7. SQL数据表插入随机数(转)

    declare @T TABLE (id int identity(1,1),[Name] nvarchar(20), Randnum int) insert @T ([Name]) select ' ...

  8. Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)

    jquery提供的serialize方法能够实现. $("#searchForm").serialize();但是,观察输出的信息,发现serialize()方法做的是将表单中的数 ...

  9. TCP网络传输, 数据类型的问题

    转载: http://blog.csdn.net/highfly591/article/details/45309239 1.采用TCP传输时, 应用层为什么要做超时重传: tcp保证数据可靠传输,传 ...

  10. 设置iptables允许ssh、http、ftp服务

    系统环境:centos-6.5 服务器:thinkserver 知识扫盲: NEW:这个包是我们看到的第一个包 ESTABLISHED:一个连接要从NEW变 为ESTABLISHED,只需要接到应答包 ...