jQuery 学习笔记——属性与样式

第二篇的jQuery笔记记录jQuery的属性和样式。
每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息。如:在img元素中,src就是元素的特性,用来标记图片的地址。

attr()和removeAttr()

操作特性的DOM方法主要有三个:getAttribute()、setAttribute()、removeAttribute()。而且就算在实际操作中还是会存在很多问题,而jQuery中用一个attr()和removeAttribute()就可以搞定以上,而且能实现兼容。

attr()有4个表达式:

1
2
3
4
1.attr(传入属性名):获取属性的值
2.attr(属性名,属性值):设置属性的值
3.attr(属性名,函数值):设置属性的函数值
4.attr(attributes):给指定元素设置多个属性值

removeAttr()删除方法

`
.removeAttr(attributeName):为匹配的元素集合中的每个元素中移除一个属性(attribute)

优点

attr、removeAttr都是jQuery为了属性操作封装的,直接在一个jQuery对象上调用该方法,很容易对属性进行操作,也不需要去特意理解浏览器的属性名不同的问题。
注:dom中有个概念的区分:Attribute和Property翻译出来都是“属性”,《js高级程序设计》书中翻译为“特性”和“属性”。简单理解,Attribute就是dom节点自带的属性。也就是说:获取Attribute就要用attr,获取Property就要用prop。

html()和text()

读取。修改元素的HTML结构或者元素的文本内容是常见的DOM操作。这方面jQuery提供了两种方法:html()和text()。

html()方法

获取集合中第一个匹配元素的HTML内容或设置每一个匹配元素的HTML内容。具体用法如下:
1.html()不传入值,就是获取集合中第一个匹配元素的HTML内容。
2.html(htmlString)设置每一个匹配元素的HTML内容。
3.html(function(index,oldhtml))用来返回设置HTML内容的一个函数。
注:.html()方法内部使用的是DOM的innerHTML属性来处理的,所以在设置与获取上需要注意的一个最重要的问题,这个操作是针对整个HTML内容(不仅仅只是文本内容)

text()方法

得到匹配匀速集合中每个元素的文本内容集合,包括他们的后代。或者设置匹配元素集合中每个元素的文本内容为指定的文本内容。具体用法如下:
1.text()得到匹配元素集合中每个元素的合并文本,包括其后代。
2.text(textString)用于设置匹配元素内容的文本。
3.text(function(index,text))用来返回设置文本内容的一个函数。
注:text()结果返回一个字符串,包含所有匹配元素的合并文本。

.html与.text的异同:

1..html与.text的方法操作是一样,只是在具体针对处理对象不同
2..html处理的是元素内容,.text处理的是文本内容
3..html只能使用在HTML文档中,.text 在XML 和 HTML 文档中都能使用
4.如果处理的对象只有一个子文本节点,那么html处理的结果与text是一样的
5.火狐不支持innerText属性,用了类似的textContent属性,.text()方法综合了2个属性的支持,所以可以兼容所有浏览器

val()

该方法主要用于处理表单元素的值,具体用法如下:
1.val()无参数,获取匹配的元素集合中第一个元素的当前值
2.val( value ),设置匹配的元素集合中每个元素的值
3.val( function ) ,一个用来返回设置值的函数

html(),text()和val()的差异总结:

1.html(),text(),val()三种方法都是用来读取选定元素的内容;只不过html()是用来读取元素的html内容(包括html标签),text()用来读取元素的纯文本内容,包括其后代元素,val()是用来读取表单元素的”value”值。其中.html()和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的”value”值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。
2.html(htmlString),text(textString)和val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。
3.html(),text(),val()都可以使用回调函数的返回值来动态的改变多个元素的内容。

文章目录
  1. 1. attr()和removeAttr()
    1. 1.0.1. attr()有4个表达式:
    2. 1.0.2. removeAttr()删除方法
    3. 1.0.3. 优点
  • 2. html()和text()
    1. 2.0.1. html()方法
    2. 2.0.2. text()方法
    3. 2.0.3. .html与.text的异同:
  • 3. val()
  • 4. html(),text()和val()的差异总结:
  • |