JavaScript的基本操作(一)
JavaScript中有大量的方法可供我们使用,详情可参考:http://jquery.cuishifeng.cn/这也同时导致我们不可能去记住每一个的用法,且开发者每天都在新添更多的方法,所以要想掌握所有方法并不是那么容易。我在学习的过程中也很头疼,不知道从何下手,下面是我学习之后的一些心得,希望可以帮助更多的人去掌握重点,更好的理解JavaScript。
第一部分是元素的查找,这是我们在执行操作前的必经之路,如果找不到该元素,谈何而来的对其操作。所以是前提更是基本。很重要。
之前在DOM的博客中已经介绍了基本的用DOM方式的元素操作,DOM v1:直接在标签中绑定。DOM v2:document.getElementById()。DOM v3:addEventListener();
这里不再对其进行赘述,现在对JavaScript的相关查找方式进行总结:
第一个是要介绍选择器,JavaScript官方定义:选择器允许您对元素组或单个元素进行操作。
1.id $('#i1') 对id进行定位
2.class $('.c1') 对类名进行定位
3.tag <div><a href='...'>asd</a></div> $('a') 查找对应的标签
4.combo $('a,.c2,#i10')用逗号隔开,把所有的a,c2,i10都找到,取并集
5.differ $('.c2 a')用空格隔开,找c2子子孙孙中的a $('.c2>a')大于号,只找到儿子(找一层)
6.selector :first :last :eq(index)索引位置要先测一下再来用 :gt(index):大于 lt(index)小于
7.attribute :自定义属性,查找具有该属性的所有标签$('[special_attribte=xxx]')用中括号[]筛选具有special_attribte=xxx的所有标签
8.form :input $(':text')=$("input[type='text']")用分号找到input中所有text类;
第二个要介绍的就是筛选器,对选择权选择出来的数据进行筛选。
1.$(this).next() 进行下一个筛选
--nextAll()
--nextUntil()
2.$(this).prev() 进行上一个筛选
-- prevAll()
--prevUntil()
3.$(this).parent() 进行父级筛选
--parents()找所有父级直到祖宗
--parentsUntil()找到对应值为止
4.$(this).children() 进行子级筛选
5. $(this).siblings() 进行兄弟级筛选
6.$(this).find()子子孙孙找
7.$(this).eq(1) 找索引值为1的内容
8.hasclass(class)
以上是主要的元素选择功能,下面介绍对所选择的元素进行的操作:
- 文本操作
- $().text()提取,如果括号里有内容则是对元素内容进行设置
- $().val()提取,此方法跟text的用法相同,区别则在于text是取的是<div>text</div>中的text,而value是指<input value=.....>那一类别。如果不知道该用哪一种可以先行调试。
- 样式操作
- addClass()
- removeClass()
- toggleClass() 类切换效果,如果有则删除,没有则添加$selector.toggleClass(class,switch)如果有了switch则只能根据其布尔值而进行添加或删除操作
- 属性操作
- $('...').attr() 传一个参数是对标签中的属性进行操作,传两个参数是新增属性removeAttr()删除属性
- $('...').prop() property是专用于checkbox和radio的,$('...').prop('checked') 返回True/False,设置$('...').prop('checked',false)
- 文档处理
- append()---prepend() 适用于div类
- after()---before() 适用于input类(value不再标签间的)
- remove 删除某一行
- empty 清空某一行,但保留结构
- clone 克隆
- CSS操作
- $('#i1').css('样式名称','样式值')
- 转换操作
- jQuery对象[0] ==>DOM对象
- DOM对象 ==>$(DOM对象)
- 位置操作
- $(windows).scrollTop() 获取滚动条
$(windows).scrollTop(0) 设置滚动条
scrollLeft跟Top用法一样 - offset().left
offset().top 获取指定标签在html中的坐标离最近的position:relative
- position()
<div style="position: relative"> //会找到这一层
<div>
<div id='i1' style='position:absolute;'></div>
</div>
</div>
- position()
- $('#i1').height() #纯高度
$('#i1').innerHeight() #padding+纯高度
$('#i1').outerHeight() #padding+border+纯高度
$('#i1').outerHeight(true) #padding+margin+border+纯高度
- $(windows).scrollTop() 获取滚动条
- 事件操作
- $().click()
$().bind('click',function)
$().unbind('click',function) - $().delegate('a','click',function//委托的方式,在click时才会执行,而其他两种会在程序写好的时候就绑定好,此方法适用于会对程序的绑定部分有所修改的情况
$().undelegate('a','click',function - $().on('click',function)
$().off('click',function)
对a标签绑定的优先,即先执行绑定内容,然后才会执行a标签中的href跳转,且是在返回值为true的情况 - 阻止事件:return false
1 当页面框架加载完毕后自动运行,默认执行的操作,这样会使网站加载速度更快(如果有大图的话)、
2 把js插件装进自执行里面可以避免全局变量冲突的问题
- $().click()
- jQuery的自定义扩展:
- $.extend({
'xxx':function(){
return 'good';
}
}) - $.fn.extend
- $.extend({
- 文本操作
JavaScript的基本操作(一)的更多相关文章
- JavaScript 数组基本操作
简介 数组操作无论是在JavaScript中还是在其他语言中都是很常见.经常会用到的,现在我把JavaScript 数组基本操作整理一下,供大家参考学习.里边包含我自己的见解以及案例,希望能够帮助大家 ...
- javascript DOM基本操作
javascript DOM基本操作 1.DOM(Document Object Model 文档对象模型) 2.节点: 文档节点:document 元素节点:html.head.body.title ...
- JavaScript 集合基本操作
参考 MDN 集合 Array 1. 2种创建数组的方式 var fruits = [] ; var friuits = new Array(); 2. 遍历 fruits.forEach(funct ...
- 舌尖上的javascript数组和字符串基本操作
Javascript数组基本操作 Javascript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,然而这些数字索引在内部被转换为字符串类型,这是因为javascrip ...
- 【转载】JavaScript基础知识体系
前言 最近总是有一种感觉,对于知识没有积淀,很多时候都是忘记了哪里就去查一下,比如JS这种语言,很是浪费时间,如果能够把这些知识形成知识体系塞进大脑,做到即用即取就好了,那么就可以借助思维导图来帮助我 ...
- JavaScript的字符串、数组以及DOM操作总结
(一)JavaScript字符串操作 JavaScript的字符串就是用' '或" "括起来的字符表示,日常的学习中有时候需要对字符串进行相关的操作.例如要获取字符串某个指定位置的 ...
- JavaScript高级程序设计(第4版)知识点总结
介绍 JavaScript高级程序设计 第四版,在第三版的基础上添加了ES6相关的内容.如let.const关键字,Fetch API.工作者线程.模块.Promise 等.适合具有一定编程经验的 W ...
- alpha6/10
队名:Boy Next Door 燃尽图 晗(组长) 今日完成 学习了css的一些基本操作. 明日工作 抽空把javascript的基本操作学习一下 还剩下哪些任务 微信API还有京东钱包的API. ...
- JavaScript思维导图—DOM基本操作
JavaScript思维导图-来自@王子墨http://julying.com/blog/the-features-of-javascript-language-summary-maps/ DOM基本 ...
随机推荐
- Trie树 字典树-学习笔记
字符串--蒟蒻永远的阴影 对于字符串匹配 KMP很好的解决了以一个文本串匹配一个模板串的问题 但如果模板串有多个呢 这是KMP不再适用 我们引入一个新的数据结构--字典树 (当然又有像AC自动机这样更 ...
- 【Unity3D技术文档翻译】第1.6篇 使用 AssetBundle Manager
上一章:[Unity3D技术文档翻译]第1.5篇 使用 AssetBundles 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Develo ...
- 通过核心概念了解webpack工作机制
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency gr ...
- jsp中的开头的作用
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1&q ...
- Git (gnome-ssh-askpass:3871): Gtk-WARNING **: cannot open display:
在使用Git在客户端使用git push 命令提交文件到github时,出现报错 (gnome-ssh-askpass:): Gtk-WARNING **: cannot open display: ...
- J2EE和android的GZIP测试
使用GZIP进行数据压缩传输实验,服务端是J2EE,使用HTTP的POST方式进行数据请求. 为了方便测试,刚开始在J2EE的环境下写了一个TestCase去调用J2EE写的服务,忘记写GZIP解压代 ...
- 避免Toast重复弹出
Toast.matkText才会创建一个新的实例 private Toast toast = null; private void checkToastResult() { if (toast != ...
- UVALive - 3938 (线段树,区间查询)
思路:详细分析见训练指南.注意可能答案的起点在左区间,终点在右区间 AC代码 #include <stdio.h> #include <algorithm> using nam ...
- hdu 2048 递推&&错排
直接贴出递推公式: cnt[n]=(i-1)*(cnt[n-1]+cnt[n-2]); 数组保存的是失败的种数 AC代码: #include<cstdio> const int maxn= ...
- Redis多服务器负载均衡的实现
集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. 上图是三个主服务 ...