手记

jQuery 的属性与样式

一、jQuery的属性与样式之.attr()与.removeAttr() :  
 (1)attr()有4个表达式
    attr(传入属性名):获取属性的值
    attr(属性名, 属性值):设置属性的值
    attr(属性名,函数值):设置属性的函数值
    attr(attributes):给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }
【注意:dom中有个概念的区分:Attribute和Property,翻译为“特性”和“属性”。简单理解,Attribute就是dom节点自带的属性;而Property是这个DOM元素作为对象,其附加的内容,使用.prop()方法进行取值或赋值等。获取Attribute就需要用attr,获取Property就需要用prop】
1)找到第一个input,通过attr设置属性value的值
     $("input:first").attr('value','.attr( attributeName, value )')
2)找到第二个input,通过attr获取属性value的值
        $("input:eq(1)").attr('value')
3)找到第三个input,通过使用一个函数来设置属性
  可以根据该元素上的其它属性值返回最终所需的属性值
  例如,我们可以把新的值与现有的值联系在一起:
        $("input:eq(2)").attr('value',function(i, val){
            return '通过function设置' + val
        })
4)找到第四个input,通过使用removeAttr删除属性
        $("input:eq(4)").removeAttr('value')
二、jQuery的属性与样式之html()及.text()
html()方法:
获取集合中第一个匹配元素的HTML内容或设置每一个匹配元素的html内容,具体有3种用法:
    (1).html() 不传入值,就是获取集合中第一个匹配元素的HTML内容
    (2).html( htmlString )  设置每一个匹配元素的html内容
    (3).html( function(index, oldhtml) ) 用来返回设置HTML内容的一个函数
【注意事项:.html()方法内部使用的是DOM的innerHTML属性来处理的,所以在设置与获取上需要注意的一个最重要的问题,这个操作是针对整个HTML内容(不仅仅只是文本内容)】
.text()方法:
得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。,具体有3种用法:
    (1).text() 得到匹配元素集合中每个元素的合并文本,包括他们的后代
    (2).text( textString ) 用于设置匹配元素内容的文本
    (3).text( function(index, text) ) 用来返回设置文本内容的一个函数
【注意事项:.text()结果返回一个字符串,包含所有匹配元素的合并文本】
    ①.html与.text的异同:
    ②.html与.text的方法操作是一样,只是在具体针对处理对象不同
    ③.html处理的是元素内容,.text处理的是文本内容
    ④.html只能使用在HTML文档中,.text 在XML 和 HTML 文档中都能使用
    ⑤如果处理的对象只有一个子文本节点,那么html处理的结果与text是一样的
火狐不支持innerText属性,用了类似的textContent属性,.text()方法综合了2个属性的支持,所以可以兼容所有浏览器。
三、jQuery的属性与样式之.val()
jQuery中有一个.val()方法主要是用于处理表单元素的值,比如 input, select 和 textarea。
val()方法:
     ①.val()无参数,获取匹配的元素集合中第一个元素的当前值;
     ②.val( value ),设置匹配的元素集合中每个元素的值;
     ③.val( function ) ,一个用来返回设置值的函数。
【注意事项:①通过.val()处理select元素, 当没有选择项被选中,它返回null②.val()方法多用来设置表单的字段的值③如果select元素有multiple(多选)属性,并且至少一个选择项被选中, .val()方法返回一个数组,这个数组包含每个选中选择项的值】
四、jQuery的属性与样式之增加样式.addClass()
.addClass( className )方法:
     ①.addClass( className ) : 为每个匹配元素所要增加的一个或多个样式名②.addClass( function(index, currentClass) ) : 这个函数返回一个或更多用空格隔开的要增加的样式名
     【注意事项:.addClass()方法不会替换一个样式类名。它只是简单的添加一个样式类名到元素上】
     【例如:在p元素增加一个newClass的样式<p class="orgClass">
       $("p").addClass("newClass")
       那么p元素的class实际上是 class="orgClass newClass"样式只会在原本的类上继续增加,通过空格分隔】
0人推荐
随时随地看视频
慕课网APP