jQuery常用语法总结(上)

346 阅读2分钟

在我开始写之前,我想强调的是,在jquery和js中单引号和双引号并没有区别!!!

选择器

  • #id:$('#id')
  • element: $('element')
  • .class: $('.class')
  • *: $(' * ')(找到页面中的所有元素)

属性

attr:

<em title="huge, gigantic">large</em>
  1. 以上有一个em标签,这时,我们可以使用$('em').attr('title'),可以获取到title的属性值
  2. $('em').attr('title','hello world'),可以把title的属性修改为 hello world
  3. 还可以把一个对象传进去,给em标签同时设置几个属性,$('em').attr({ active:"beijing is big" name:"my name is sunying" });

removeAttr


<img src="test.jpg"/>


  1. 将图像中的src属性移出掉,$('img').removeAttr('src');

prop

这个属性用在input框和单选复选框中,

<input type="checkbox" checked="checked">
20.  <input type="checkbox">
21.  <input type="checkbox">
22.  <input type="checkbox" checked="checked">

  1. 禁用上面的所有的复选框,$('input[type='checkbox']').prop({ disabled:true //如果是false,则不禁用 })

removeprop

常用来移出用prop查找的属性, $('input').removeProp('checked')

css类

addClass

正如字面上的意思,就是给一个标签添加一个属性:

语法:$('div').addClass('active') 表示给div标签添加一个active的css样式

removeClass

正如字面上意思,给一个元素移出一个css样式:

语法:$('div').removeClass('active')表示移出div中的active这个css样式

toggleClass

这个方法是切换样式的意思,经常配合点击事件来使用:

例如:

$('div').click(funciton(){
    $(this).toggleClass('active')
})
表示点击这个div时,切换active这个样式

获取内容/改变内容

html()

语法:$('p').html('你想给这个元素添加的内容')

位置

offset

获取当前元素相对与页面的坐标,也可以用它来设置元素相对与页面的位置。

返回值:top和left

语法:

  1. $('div').offset()

  2. $('div').offset({ top:10, left:20 })

position

获取到当前元素相对于offset parent的坐标。(offset parent指离该元素最近的而且被定位过的祖先元素 )

返回值:top和left

语法:$('div').position()

语法:$('div').position('left:'+position.left+',top:'+positon.top);

尺寸

innerHeight(),innerWidth(),outerHeight(),outerWidth(),height(),width()

区别:

  1. innerHeight(),innerWidth():获取的高宽不包括border和margin

  1. outerHeight(),outerWidth()如果在括号里填写true的时候,就表示margin,padding,border全部都获取

  1. height(),width()就只获取到内容区域的高宽

文档处理

内部插入:append(),appendTo(),prepend(),prependTo()

所谓的内部插入,就是在某个元素的内部插入内容。

例如:

<div calss="inner">Hello World</div>
<script>
$('.inner').append('<p> i like you</p>')

$('<p> i like you</p>').appendTo('.inner')

$('.inner').prepend('<p> i like you</p>')

$('<p> i like you</p>').prependTo('.inner')

</script>

效果,可以自己运行看。

以上就是他们的语法,不过,append与appendTo是插入到文档内部后面;prepend与prependTo是插入到文档的内部前面。

外部插入

所谓的外部插入,就是把想添加的元素添加到目标元素后面,构成兄弟结点元素。

after,before,insertAfter,insertBofore

<div class="inner">Hello</div>

<script>
$('.inner').after('<p>Test</p>');
$('.inner').before('<p>Test</p>');
$('<p>Test</p>').insertAfter('.inner');
$('<p>Test</p>').insertBefore('.inner');
</script>

老规矩,效果可以自行运行观看,

以上就是他们的语法,不过,after,before是插入到文档内部后面;insertAfter,insertBofore是插入到文档的内部前面。

克隆,复制

我个人觉得jquery的clone语法比js的好用...

clone()

clone()在jquery中是一种默认为深度拷贝的方法,不仅可以拷贝结构,内容,甚至连事件都可以拷贝...

$('.div').on('click',function(){
    console.log('111')
})

$('.div1').clone(true).append('.div')

效果可以自己运行观看,注意点:在clone()括号中不加true,是浅克隆(克隆结构和内容),加了true,是深克隆(不仅可以克隆结构和内容,还可以克隆事件)。

查找

这是在jquery中经常用到的东西,用来查找和锁定元素

children()

获取到的是当前元素下的所有子元素

next()

下一个兄弟元素

nextall()

下面所有的兄弟元素

parent

父级元素

parents

向上匹配到所有的祖先元素

prev()

上一个兄弟元素

prevall()

网上匹配到的所有的兄弟元素

sibiling()

匹配到除了自己的所有兄弟元素