属性与样式

.attr()与.removeAttr()

jQuery中用attr()方法来获取和设置元素属性.

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

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

Attribute和Property翻译为“特性”和“属性”。Attribute就是dom节点自带的属性,例如:html中常用的id、class、title、align等。获取Attribute就需要用attr,获取Property就需要用prop。

html()及.text()

.html()方法

获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容。

  1. .html() 不传入值,就是获取集合中第一个匹配元素的HTML内容。
  2. .html( htmlString ) 设置每一个匹配元素的html内容。

.html()方法内部使用的是DOM的innerHTML属性来处理的,这个操作是针对整个HTML内容(不仅仅只是文本内容)

.text()

得到匹配元素集合中每个元素的文本内容结合,.text()结果返回一个字符串,包含所有匹配元素的合并文本。

.html处理的是元素内容,.text处理的是文本内容。

.val()

.val()方法主要是用于处理表单元素的值,比如 input, select 和 textarea。

  1. val()无参数,获取匹配的元素集合中第一个元素当前值。
  2. val(value)设置匹配的元素集合中每个元素的值。
  3. 通过.val()处理select元素, 当没有选择项被选中,它返回null
  4. 如果select元素有multiple(多选)属性,并且至少一个选择项被选中, .val()方法返回一个数组,这个数组包含每个选中选择项的值

.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()都可以使用回调函数的返回值来动态的改变多个元素的内容。

增加样式.addClass()

通过动态改变类名(class),可以让其修改元素呈现出不同的效果。

<p class="orgClass">
$("p").addClass("newClass")

等同于:

<p class="orgClass newClass">

那么p元素的class实际上是 class="orgClass newClass"样式只会在原本的类上继续增加,通过空格分隔.

样式操作.css()

动态的修改style属性我们只要使用css()方法就可以实现了。

$('.aaron').css(
            'background','yellow'
        )

等同于

 $('.aaron').css({
            'background':'yellow'
        })

.css()与.addClass()设置样式的区别

  • .addClass()方法是通过增加class名的方式,那么这个样式是在外部文件或者内部样式中先定义好的,等到需要的时候在附加到元素上
  • 通过.css()方法处理的是内联样式,直接通过元素的style属性附加到元素上的
  • .addClass与.css方法各有利弊,一般是静态的结构,都确定了布局的规则,可以用addClass的方法,增加统一的类规则
  • 如果是动态的HTML结构,在不确定规则,或者经常变化的情况下,一般多考虑.css()方式.
posted @ 2020-07-05 21:31  六月的余晖  阅读(214)  评论(0编辑  收藏  举报