使用jQuery操作 DOM

DOM操作分为三类:
1:
DOM Core:任何一种支持DOM的编程语言都可以使用它,如getElementById()
2:HTML-DOM:用于处理HTML文档,如document.forms

3:CSS-DOM:用于操作CSS,如element.style.color=”green”

JavaScript用于对(x)html文档进行操作,它对这三类DOM操作都提供了支持

jQuery对JavaScript中的DOM操作进行了封装

jQuery中的DOM操作

样式操作

内容及Value值操作

节点操作

节点属性操作

节点遍历

CSS-DOM操作

使用css()为指定的元素设置样式值或获取样式值

css(name,value) ;//设置单个属性

css({name:value, name:value,name:value…}) ;//同事设置多个属性

css(name)//获取属性值

追加样式:
$(selector).addClass(class);


$(selector).addClass(class1 class2 … classN);

移除样式:
$(selector).removeClass(“class”) ;


$(selector).removeClass(“class1 class2 … classN “) ;

toggleClass()

模拟了addClass()与removeClass()实现样式切换的过程
$(selector).toggleClass(class) ;

hasClass( )方法来判断是否包含指定的样式

$(selector). hasClass(class);

html()可以对HTML代码进行操作,类似于JS中的innerHTML
$(“div.left”).html();//获取元素中的html代码

$(“div.left”).html(“

“);//设置元素中的html代码

text()可以获取或设置元素的文本内容
$(“div.left”).text();//获取元素中的文本内容

$(“div.left”).text(“

“);//设置元素中的文本内容

html(?) :无参数: 用于获取第一个匹配元素的HTML内容或文本内容
html(content):content为元素的HTML内容: 用于设置所有匹配元素的HTML内容或文本内容
text(?) :无参数 :用于获取所有匹配元素的文本内容
text (content): content为元素的文本内容:用于设置所有匹配元素的文本内容

val()可以获取或设置元素的value属性值

$(this).val();//获取元素中的value属性值


$(this).val(value);//设置元素的value属性值

节点操作:
jQuery中节点操作:

查找节点

创建节点

插入节点

删除节点

替换节点

复制节点

工厂函数$()用于获取或创建节点

$(selector):通过选择器获取节点

$(element):把DOM节点转化成jQuery节点

$(html):使用HTML字符串创建jQuery节点

var n e w N o d e = (“

  • “);

    var n e w N o d e 1 = (“

  • 你喜欢哪些冬季运动项目?
  • “);

    var n e w N o d e 2 = (“

  • 北京申办冬奥会是再合适不过了!
  • “);

    {{last}创建含文本与属性

  • 元素节点
  • 元素内部插入子节点:

    append(content):$(A).append(B)表示将B追加到A中

    如: ( " u l " ) . a p p e n d ( newNode1);

    appendTo(content):$(A).appendTo(B)表示把A追加到B中

    如:$newNode1.appendTo(“ul”);

    prepend(content):$(A). prepend (B)表示将B前置插入到A中

    如: ( " u l " ) . p r e p e n d ( newNode1);

    prependTo(content):$(A). prependTo (B)表示将A前置插入到B中

    如:$newNode1. prependTo (“ul”);

    元素外部插入同辈节点:

    after(content): $(A).after (B)表示将B插入到A之后

    如: ( " u l " ) . a f t e r ( newNode1);

    insertAfter(content):$(A). insertAfter (B)表示将A插入到B之后

    如:$newNode1.insertAfter(“ul”);

    before(content):$(A). before (B)表示将B插入至A之前

    如: ( " u l " ) . b e f o r e ( newNode1);

    insertBefore(content):$(A). insertBefore (B)表示将A插入到B之前

    如:$newNode1.insertBefore(“ul”);

    jQuery提供了三种删除节点的方法

    remove():删除整个节点

    empty():清空节点内容

    detach():删除整个节点,保留元素的绑定事件、附加的数据

    replaceWith()和replaceAll()用于替换某个节点
    var n e w N o d e 1 = (“

  • 你喜欢哪些冬季运动项目?
  • “);

    ( " . g a m e L i s t l i : e q ( 2 ) " ) . r e p l a c e W i t h ( newNode1);

    ( newNode1).replaceAll(“.gameList li:eq(2)”);

    replaceWith和replaceAll两者的关系类似于append()和appendTo()

    clone()用于复制某个节点

    $(selector).clone([includeEvents]) ;

    参数ture或flase, true复制事件处理,flase时反之

    attr()用来获取与设置元素属性

    $(selector).attr([name]) ;获取属性值

    $(selector).attr({[name1:value1]…[nameN:valueN]}) ;设置多个属性的值

    removeAttr()用来删除元素的属性
    :$(selector).removeAttr(name) ;

    children()方法可以用来获取元素的所有子元素:$(selector).children([expr]);

    jQuery可以获取紧邻其后、紧邻其前和位于该元素前与后的所有同辈元素

    next([expr]):用于获取紧邻匹配元素之后的元素
    $(“li:eq(1)”).next().addClass(“orange”);

    prev([expr]):用于获取紧邻匹配元素之前的元素
    $(“li:eq(1)”).prev().addClass(“orange”);

    slibings([expr]):用于获取位于匹配元素前面和后面的所有同辈元素
    $(“li:eq(1)”).siblings().addClass(“orange”);

    jQuery中可以遍历前辈元素

    parent():获取元素的父级元素

    parents():元素元素的祖先元素

    each( ) :规定为每个匹配元素规定运行的函数
    $(selector).each(function(index,element)) ;
    index选择器的位置
    ,element当前的元素

    end( ):结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态

    除css()外,还有获取和设置元素高度、宽度等的样式操作方法:
    css():设置或返回匹配元素的样式属性
    height([value]):设置或返回匹配元素的高度
    width([value]):设置或返回匹配元素的宽度
    offset([value]):返回以像素为单位的top和left坐标。仅对可见元素有效
    offsetParent( ):返回最近的已定位祖先元素。定位元素指的是元素的CSS position值被设置为relative、absolute或fixed的元素
    position( ):返回第一个匹配元素相对于父元素的位置
    scrollLeft([position]):参数可选。设置或返回匹配元素相对滚动条左侧的偏移
    scrollTop([position]):参数可选。设置或返回匹配元素相对滚动条顶

    这里写图片描述

    猜你喜欢

    转载自blog.csdn.net/wxj_0923/article/details/82625184
    今日推荐