jQuery操作dom元素(二)

jQuery操作dom元素(二)

jquery裏創建dom元素

var str=$("<span></span>");//動態創建了span

創建完成的對象,追加給父級元素

append  appendTo  prepend prependTo

1.追加到當前元素的內容之後

	$("#block").append(str);//把str追加到block中
    str.appendTo($("#block"));

2.追加到當前元素的內容之前

	$("#block").prepend(str);
    str.prependTo($("#block"));

3.追加帶函數

	$(".block").append(function(index,value){
        console.log($(this).html());//更爲強大一點,直接插入時只能插入固定值
    })

4.外部插入

	$("#btn").after(msg)//在btn之後
    $("#btn").before(msg)//在btn之前
    $("#btn").after(function(a,b){
        console.log(b)//value,a爲index
    })*/

   /* msg.insertBefore($("#btn"));*/ //在btn之前
    /*msg.insertAfter($("#btn"));*/ //在btn之後

5.複製節點

	$("#btn").click(function (){
        console.log("1");
    });
	var clonebtn=$("#btn").clone(false);//false只是複製了元素,不包含事件,沒有靈魂
	//默認爲false

6.dom元素的替換
案例1:表格修改信息

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .block{
            width: 720px;
            border: 1px  solid grey;
            margin: 0 auto;
        }
        .list{
            border-bottom: 1px dashed grey;
            line-height: 40px;
            overflow: hidden;
        }
        .list>span{
            display: block;
            float: left;
            width: 120px;
            text-align: center;
        }
        .ipt{
            float: left;
            box-sizing: border-box;
            width: 120px;
            text-align: center;
            outline: none;
            margin: 10px 0;
        }
        button{
            width: 120px;
            border-style: none;
            outline: none;
            color: blue;
            float: left;
            line-height: 40px;
            background-color: transparent;
        }
    </style>
</head>
<body>
<div class="block">
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
    <div class="list">
        <span>張三</span>
        <span>男</span>
        <span>20</span>
        <span>西安</span>
        <span>110</span>
       <button>修改</button>
    </div>
</div>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    $("button").each(function(index){ //each()是jquery的方法,遍歷方法
        $(this).prop("data-user",true);//默認button的data-user屬性爲true,爲自定義屬性
        $(this).click(function(){//點擊方法
            if($(this).prop("data-user")){
                $(this).html("確定");
                $(".list").eq(index)
                        .find("span")//尋找方法
                        .each(function(index){
                        var ipt=$("<input class='ipt' value='"+$(this).html()+"'>");//創建input方法
                            $(this).replaceWith(ipt);//用input替換之前的span
                })
                $(this).prop("data-user",false)//true換成false
            }
            else{
                $(this).html("修改");
                $(".list").eq(index)
                        .find("input")
                        .each(function(index){
                        var ipt=$("<span>"+$(this).val()+"</span>");
                            $(this).replaceWith(ipt);//替換元素,比如span換成input
                })
                $(this).prop("data-user",true)
            }
        })
    })
</script>
</body>
</html>

7.包裹節點

	$(".btn").wrap("<span></span>")  //span包裹btn wrap用元素包裹被選擇元素 單一元素
	$(".btn").wrapAll("<span></span>")  //一個包多個

移除被包裹的父級元素

	$(".btn").unwrap();
	$(".btn").wrapInner(s);//用包裹元素包裹被選擇元素的 子 元素

8.元素的遍歷

	$(".btn").each(function(index){
        $(this).click(function(){
            console.log(index)
            if(index==1){
                return false;//在each裏return false結束循環
			}
            console.log("aaa")
        })
    })


	$(".btn").each(function (index, ele) {
     $(ele).click(function () {
            console.log(index);
        });
    });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章