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)

    以上是主要的元素选择功能,下面介绍对所选择的元素进行的操作

    1. 文本操作
      1. $().text()提取,如果括号里有内容则是对元素内容进行设置
      2. $().val()提取,此方法跟text的用法相同,区别则在于text是取的是<div>text</div>中的text,而value是指<input value=.....>那一类别。如果不知道该用哪一种可以先行调试。
    2. 样式操作
      1. addClass()
      2. removeClass()
      3. toggleClass() 类切换效果,如果有则删除,没有则添加$selector.toggleClass(class,switch)如果有了switch则只能根据其布尔值而进行添加或删除操作
    3. 属性操作
      1. $('...').attr()  传一个参数是对标签中的属性进行操作,传两个参数是新增属性removeAttr()删除属性
      2. $('...').prop()    property是专用于checkbox和radio的,$('...').prop('checked') 返回True/False,设置$('...').prop('checked',false)
    4. 文档处理
      1. append()---prepend()    适用于div类
      2. after()---before()            适用于input类(value不再标签间的)
      3. remove                    删除某一行
      4. empty                            清空某一行,但保留结构
      5. clone                        克隆
    5. CSS操作
      1. $('#i1').css('样式名称','样式值')
    6. 转换操作
      1. jQuery对象[0] ==>DOM对象
      2. DOM对象       ==>$(DOM对象)
    7. 位置操作
      1. $(windows).scrollTop() 获取滚动条
                    $(windows).scrollTop(0) 设置滚动条
                    scrollLeft跟Top用法一样
      2. offset().left
                    offset().top 获取指定标签在html中的坐标离最近的position:relative

        1.               position()
                      <div style="position: relative">    //会找到这一层
                          <div>
                              <div id='i1' style='position:absolute;'></div>
                          </div>
                      </div>
      3. $('#i1').height()           #纯高度
                    $('#i1').innerHeight()      #padding+纯高度
                    $('#i1').outerHeight()      #padding+border+纯高度
                    $('#i1').outerHeight(true)  #padding+margin+border+纯高度
    8. 事件操作
      1. $().click()
                        $().bind('click',function)
                        $().unbind('click',function)
      2. $().delegate('a','click',function//委托的方式,在click时才会执行,而其他两种会在程序写好的时候就绑定好,此方法适用于会对程序的绑定部分有所修改的情况
                        $().undelegate('a','click',function
      3. $().on('click',function)
                        $().off('click',function)
                        对a标签绑定的优先,即先执行绑定内容,然后才会执行a标签中的href跳转,且是在返回值为true的情况
      4.  阻止事件:return false
                       1  当页面框架加载完毕后自动运行,默认执行的操作,这样会使网站加载速度更快(如果有大图的话)、
                       2  把js插件装进自执行里面可以避免全局变量冲突的问题
    9. jQuery的自定义扩展:
      1. $.extend({
                            'xxx':function(){
                                return 'good';
                            }
                        })
      2. $.fn.extend

          

      

JavaScript的基本操作(一)的更多相关文章

  1. JavaScript 数组基本操作

    简介 数组操作无论是在JavaScript中还是在其他语言中都是很常见.经常会用到的,现在我把JavaScript 数组基本操作整理一下,供大家参考学习.里边包含我自己的见解以及案例,希望能够帮助大家 ...

  2. javascript DOM基本操作

    javascript DOM基本操作 1.DOM(Document Object Model 文档对象模型) 2.节点: 文档节点:document 元素节点:html.head.body.title ...

  3. JavaScript 集合基本操作

    参考 MDN 集合 Array 1. 2种创建数组的方式 var fruits = [] ; var friuits = new Array(); 2. 遍历 fruits.forEach(funct ...

  4. 舌尖上的javascript数组和字符串基本操作

    Javascript数组基本操作 Javascript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,然而这些数字索引在内部被转换为字符串类型,这是因为javascrip ...

  5. 【转载】JavaScript基础知识体系

    前言 最近总是有一种感觉,对于知识没有积淀,很多时候都是忘记了哪里就去查一下,比如JS这种语言,很是浪费时间,如果能够把这些知识形成知识体系塞进大脑,做到即用即取就好了,那么就可以借助思维导图来帮助我 ...

  6. JavaScript的字符串、数组以及DOM操作总结

    (一)JavaScript字符串操作 JavaScript的字符串就是用' '或" "括起来的字符表示,日常的学习中有时候需要对字符串进行相关的操作.例如要获取字符串某个指定位置的 ...

  7. JavaScript高级程序设计(第4版)知识点总结

    介绍 JavaScript高级程序设计 第四版,在第三版的基础上添加了ES6相关的内容.如let.const关键字,Fetch API.工作者线程.模块.Promise 等.适合具有一定编程经验的 W ...

  8. alpha6/10

    队名:Boy Next Door 燃尽图 晗(组长) 今日完成 学习了css的一些基本操作. 明日工作 抽空把javascript的基本操作学习一下 还剩下哪些任务 微信API还有京东钱包的API. ...

  9. JavaScript思维导图—DOM基本操作

    JavaScript思维导图-来自@王子墨http://julying.com/blog/the-features-of-javascript-language-summary-maps/ DOM基本 ...

随机推荐

  1. 织梦调用seotitle

    如果有seotitle则调用seotitle,没有则调用title {dede:field.array runphp='yes'} if(@me['seotitle']=='') {@me=@me[' ...

  2. 打开word时出现the setup controller has encountered a problem during install解决办法

    问题电脑为win7,office是默认安装 删除下面文件夹即可解决该问题 C:\Program Files\Common Files\Microsoft Shared\OFFICE12\Office ...

  3. dedecms织梦判断当前页面是首页、栏目页还是文章页

    根据全局变量$GLOBALS['_sys_globals']['curfile']的值来判断. 首页parview:列表页listview:文章页archives 应用示例: {dede:php}if ...

  4. Java经典编程题50道之十五

    输入三个整数x,y,z,请把这三个数由小到大输出. public class Example15 {    public static void main(String[] args) {       ...

  5. 收藏清单: python测试框架最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  6. idea出现Error:Maven Resources Compiler: Maven project configuration required for module 'market' isn't available.

    idea出现如下错误解决办法 1.重新在Build-Rebuild project 既可以解决啦

  7. ActiveRecord的生命周期

    ActiveRecord的生命周期,通过方法重写和插入我们需要的业务逻辑来达到我们对程序的控制. 示例: 1,beforeSave() public function beforeSave($inse ...

  8. 剑指offer第四天

    25.复杂链表的复制 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的 ...

  9. loading加载动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 嵌入式Linux引导过程之1.6——Xloader的Xloader_Entry

    我们已经看完了XLOADER_ENTRY里调用的前两个标号的代码,分别是sys_init和ddr_init.对于一个嵌入式系统来说,这两 个部分的代码是在一开始就执行的,至少是在从bootrom里面的 ...