DOM manipulation summary in Swiper

【Foreword】

      Combined with tutorials and documentation, here I record the relevant DOM operations in Swiper

 

【Directory List】

(1) Classes class;

(2) attributes;

(3) Data storage;

(4) CSS transform and transitions transition;

(5) Events;

(6) styles styles;

(7) Dom operation

 

【Details】

(1) Classes class operation

   ①.addClass(className) Add class---mySwiper.$el.addClass('MyClass') to the element;

   ②.removeClass(className) delete the specified class

   ③.hasClass(className) Determines whether there is a specified class on the element

   ④.toggleClass(className) Delete if there is, add if not

 

(2) Attribute operation

   ①.attr(attrName) Get an attribute value

   ②.attr(attrName, attrValue) Set an attribute value

   ③.attr(attributesObject) Set multiple attribute values

   ④.removeAttr(attrName) delete attribute value

 

(3) Data storage

    ①.data(key, value) Store arbitrary data on the selected element

    ②.data(key)                                 如果只有一个参数,则读取指定的值,如果有两个参数 data(key, value) 则是设置值------与属性操作attr()类似,.attr(attrName)获取属性值和.attr(attrName, attrValue)设置值

 

(4)CSS transform变换和 transitions过渡

   ①.transform(CSSTransformString)                  添加带前缀的transform 样式:

swiper.slides.eq(0).transform('scale(0.8) translateX(100px)')

    ②.transition(transitionDuration)                          设置css transition-duration 属性; 

 

(5)事件

   ①.on(eventName事件名称, handler处理程序, useCapture)                 在选中的元素上绑定事件

   ②.on(eventName, delegatedTarget授权目标, handler, useCapture)         通过代理绑定事件

   ③.once(eventName, handler, useCapture)                                                 添加回调函数或者事件句柄,这些事件只会执行一次

   ④.off(eventName, handler, useCapture)                                                 删除事件绑定

   ⑤.off(eventName, delegatedTarget, handler, useCapture)                   删除通过代理绑定的事件

   ⑥.trigger(eventName, eventData)                                                         触发选中元素上的事件,指定所有的事件回调函数

   ⑦.transitionEnd转换结束(callback, permanent永久)                                  在选中的元素上增加转换结束 transitionEnd事件回调

 

(6)Styles样式

   ①.offset()                                                获取当前选中元素的第一个元素相对 document 的位置偏移

   ②.css(property属性)                                获取选中元素中第一个元素的CSS属性值

   ③.css(property, value)                                设置全部选中元素中的CSS属性值

mySwiper.slides.css("background-color", "yellow")
mySwiper.slides.css({"background-color":"yellow", "z-index":1})

 

(7)Dom操作

   案例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
    <style type="text/css">
        div{
            width: 100px;
            height: 100px;
            background-color: #00bcd4;
        }
    </style>
</head>
<body>
<div class="one">我是1</div>
<div class="one">我是2</div>
<div class="one">我是3</div>
<script src="./jquery.min.js"></script>
</body>
</html>
  Next, experiment with Demo operations in turn:

  ①.each(callback) Traverse the collection and execute a callback for each element  

$(function(){
     var value = $("div").each(cb);
     function cb(){
         console.log("callback function")
     }
})

 

   ②.html() Get the HTML content of the first element selected

$(function(){
        var value = $("div").html();
        console.log(value)
 })

 

   ③.html(newInnerHTML) Set HTML content for all selected elements

$(function(){
        var value = $("div").html('更改内容');
        console.log(value)
})

 

   ④.text()                                                                   获得选中的元素的文本内容

      例如:获取所有class为'one'的元素的内容:

$(function(){
        var value = $("div").text();
        console.log(value)
})

 

   ⑤.text(newTextContent)                                   给全部选中元素设置文本内容

      例如:设置所有class为'one'的元素的内容:

$(function(){
        var value = $("div").text('更改');
        console.log(value)
})

    注意:关于.text()和.html()的区别,我在文章.text()与.html()区别里做了总结

   

  ⑥.val()                                                              获取或修改表单元素的value值

<input class="two" value="235">
<script>
    $(function(){
        console.log("获取input的value值"+$(".two").val());
        var change = $(".two").val("修改235");
        console.log(change)
    })
</script>

  ⑦.is(CSSSelector)                                           选中的元素是否符合指定的CSS选择器,返回布尔值

$(function(){
        var value = $("div").is('.one');
        console.log(value);
})

 

  

  ⑧.is(HTMLElement)                                           选中的元素是否是给定的 DOM 元素或者 Dom7 集合

$(function(){
        var value1 = $("div").is('form');
        console.log(value1);
        var value2 = $("div").is('div');
        console.log(value2);
})
 

 

  ⑨.index()                                                    当前选中第一个元素在他的所有兄弟节点中的排序(从0开始)

$(function(){
        var value1 = $("div").index();
        console.log(value1);
})
 

 

  ⑩.eq(index)                                             返回当前选中的元素中的指定序号的元素

$(function(){
        var value2 = $("div").eq('1');
        console.log(value2);//这里会输出"我是2"的标签
 })

   swiper里:

mySwiper.slides.eq(0).addClass('className');

 

   ⑪.append(HTMLString/HTMLElement)                      译为附加(HTML字符串或元素),在当前选中元素的每一个后面插入指定内容,即字符串或元素标签

    添加字符串:

$(function(){        
        var value2 = $("div").eq('1').append('我是append到后面的');
        console.log($("div").eq('1').text())
})

 添加元素:

<style type="text/css">
   .append{color:red;}
</style>
<script>
    $(function(){
        var value2 = $("div").eq('1').append('<div class="append">附加元素</div>');
        console.log($("div").eq('1').text())
    })
</script>

 

   ⑫.prepend(newHTML)    翻译为前置()在当前选中元素的每一个前面插入指定内容

   前置HTML元素:

<style type="text/css">
        .append{
            color: red;
        }
    </style>
<script>
    $(function(){
        var value2 = $("div").eq('1').prepend('<span class="append">前置元素</span>');
        console.log($("div").eq('1').text())
    })
</script>

   前置字符串:

<script>
    $(function(){
        var value2 = $("div").eq('1').prepend('前置元素');
        console.log($("div").eq('1').html())
    })
</script>

 

   ⑬.insertBefore(target)把当前选中的每一个元素插入到指定的目标之前。目标(target)应该是一个 CSS 选择器或者 HTML 元素 或者 Dom7集合;

      对应的.insertAfter(target)插入到目标之后

      .insertBefore(target)插入目标之前:

$(function(){
        var value2 = $("div").eq('1').insertBefore($("div").eq('0'));
        //现在"我是2"被插入到了"我是1"的前面
})

    .insertBefore(target)插入目标之后:

$(function(){
        $("div").eq('1').insertAfter($("div").eq('2'));
        //现在"我是3"被插入到了"我是2"的前面
})

 

   ⑭next()                         获得匹配元素集合中每个元素紧邻的同胞元素。如果提供选择器,则取回匹配该选择器的下一个同胞元素

$(function(){
        var value = $("div").eq('1').next();
        //,因为没有提供选择器,所以这里会获取"我是2"的紧邻的(所有)同胞元素
        console.log(value)
})

 提供选择器,过滤兄弟元素:

<div class="one">我是1</div>
<div class="three">我是1的兄弟元素</div>
<div class="one">我是2</div>
<div class="four">我是2的兄弟元素</div>
<div class="one">我是3</div>
<div class="three">我是3的兄弟元素</div>
<script src="./jquery.min.js"></script>
<script>
    $(function(){
        var value = $("div").next('.four');
        console.log(value);//这里只会输出类名有"four"的兄弟元素
    })
</script>

 

   ⑮.nextAll([selector])                           获得当前选中的每一个元素之后的全部兄弟元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些兄弟元素

    注意:.next([selector])与.nextAll([selector])的区别

    next:同级元素中紧贴着的后面一个元素;nextAll:同级元素中后面所有的元素

<div class="one">我是1</div>
<div class="three">我是1的兄弟元素</div>
<div class="one">我是2</div>
<div class="four">我是2的兄弟元素</div>
<div class="one">我是3</div>
<div class="three">我是3的兄弟元素</div>
<script src="./jquery.min.js"></script>
<script>
    $(function(){
        var next = $("div").eq(0).next();
        console.log(next);
        var nextAll = $(".one").next();
        console.log(nextAll)
    })
</script>

 

   ⑯.parent([selector])                       获取选中元素的直接父元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些父元素

     .parents([selector])                       获取选中元素的祖先元素               

<div class="parents">
    <div class="parent">
        <div class="one">我是1</div>
        <div class="three">我是1的兄弟元素</div>
        <div class="one">我是2</div>
        <div class="four">我是2的兄弟元素</div>
        <div class="one">我是3</div>
        <div class="three">我是3的兄弟元素</div>
    </div>
</div>
<script src="./jquery.min.js"></script>
<script>
    $(function(){
        var parent = $(".one").eq(0).parent();
        console.log(parent);
        var parents = $(".one").eq(0).parents();
        console.log(parents)
    })
</script>

 

   ⑰.find(selector)                                                   在选中的每一个元素的后代中查找指定的元素

       .find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选

<div class="parents">
    <div class="parent">
        <div class="one">我是1</div>
        <div class="three">我是1的兄弟元素</div>
        <div class="one">我是2</div>
        <div class="four">我是2的兄弟元素</div>
        <div class="one">我是3</div>
        <div class="three">我是3的兄弟元素</div>
    </div>
</div>
<script src="./jquery.min.js"></script>
<script>
    $(function(){
        var parent = $(".parent").find('.four');
        console.log(parent);
    })
</script>

 

   ⑱.children(selector)                                              在选中的每一个元素的直接子元素中查找指定的元素

$(function(){
        var children = $(".parent").children('');
        console.log(children);
})

    由选择器筛选是可选的,例如:

$(function(){
        var children = $(".parent").children('.four');
        console.log(children);
})

 

    注意:.children()与.find()区别 

    .children()获取的是该元素的下级元素,而通过.find()获取的是该元素的下级所有元素

    例如:

<div class="parents">
    <div class="parent">
        <div class="one">我是1</div>
        <div class="three">我是1的兄弟元素</div>
        <div class="one">我是2</div>
        <div class="four">我是2的兄弟元素</div>
        <div class="one">我是3</div>
        <div class="three">我是3的兄弟元素</div>
    </div>
</div>
<script src="./jquery.min.js"></script>
<script>
    $(function(){
        var children = $(".parents").children('.four');
        console.log(children.text());
        var find = $(".parents").find('.four');
        console.log(find.text());
    })
</script>

   这里可以发现.children()获取不到.four的值,若想用.children()方法获取,可以这样写

var children = $(".parents").children().children('.four');
console.log(children.text());

 

   ⑲.remove()                                             从DOM中删除选中的元素

<div class="parents">
    <div class="parent">
        <div class="one">我是1</div>
        <div class="three">我是1的兄弟元素</div>
        <div class="one">我是2</div>
        <div class="four">我是2的兄弟元素</div>
        <div class="one">我是3</div>
        <div class="three">我是3的兄弟元素</div>
    </div>
</div>
<script src="./jquery.min.js"></script>
<script>
    $(function(){
        var value = $(".parents").find('.four').remove();
        console.log(value);
    })
</script>

 

  ⑳.add()                                                                  增加一个元素

<button>添加一个span元素</button>
<p>一个P元素。</p>
<script>
$(document).ready(function(){
	$("button").click(function(){
		$("p").add("<br><span>一个新的span元素。</span>").appendTo("p");
	});
});
</script>

 

先写到这里,以后有发现再继续补充完善

 

.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326126835&siteId=291194637