jquery中dom元素的操作与使用

jQuery 添加新内容有以下四个方法:

  • append() - 在被选元素的结尾插入内容

  • prepend() - 在被选元素的开头插入内容

  • after() - 在被选元素之后插入内容

  • before() - 在被选元素之前插入内容

append() 方法在被选元素的结尾插入内容(仍然该元素的内部)。

<script>
$(document).ready(function(){
  $("#btn1").click(function(){
    $("p").append(" <b>追加文本</b>。");
  });

  $("#btn2").click(function(){
    $("ol").append("<li>追加列表项</li>");
  });
});
</script>
</head>

<body>
<p>这是一个段落。</p>
<p>这是另外一个段落。</p>
<ol>

jQuery prepend() 方法在被选元素的开头插入内容。

<script>
$(document).ready(function(){
	$("#btn1").click(function(){
		$("p").prepend("<b>在开头追加文本</b>。 ");
	});
	$("#btn2").click(function(){
		$("ol").prepend("<li>在开头添加列表项</li>");
	});
});
</script>
</head>
<body>
	
<p>这是一个段落。</p>
<p>这是另外一个段落。</p>
<ol>
<li>列表 1</li>
<li>列表 2</li>
<li>列表 3</li>
</ol>
<button id="btn1">添加文本</button>
<button id="btn2">添加列表项</button>
	
</body>

我们只在被选元素的开头/结尾插入文本/HTML。append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。

<script>
function appendText(){
	var txt1="<p>文本。</p>";              // 使用 HTML 标签创建文本
	var txt2=$("<p></p>").text("文本。");  // 使用 jQuery 创建文本
	var txt3=document.createElement("p");
	txt3.innerHTML="文本。";               // 使用 DOM 创建文本 text with DOM
	$("body").append(txt1,txt2,txt3);        // 追加新元素
}
</script>
</head>
<body>

<p>这是一个段落。</p>
<button onclick="appendText()">追加文本</button>

</body>

jQuery after() 方法在被选元素之后插入内容。

jQuery before() 方法在被选元素之前插入内容。

<script>
$(document).ready(function(){
  $("#btn1").click(function(){
    $("img").before("<b>之前</b>");
  });

  $("#btn2").click(function(){
    $("img").after("<i>之后</i>");
  });
});
</script>
</head>

<body>
<img src="/images/logo.png" >
<br><br>
<button id="btn1">之前插入</button>
<button id="btn2">之后插入</button>
</body>

after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。

在下面的例子中,我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):

<script>
function afterText(){
	var txt1="<b>I </b>";                    // 使用 HTML 创建元素
	var txt2=$("<i></i>").text("love ");     // 使用 jQuery 创建元素
	var txt3=document.createElement("big");  // 使用 DOM 创建元素
	txt3.innerHTML="jQuery!";
	$("img").after(txt1,txt2,txt3);          // 在图片后添加文本
}
</script>
</head>
<body>

<img src="/images/logo2.png" >
<br><br>
<button onclick="afterText()">之后插入</button>

</body>

append/prepend和after/before有什么区别呢

append/prepend 是在选择元素内部嵌入。

after/before 是在元素外面追加。

append

<p>
  <span class="s1">s1</span>
</p>
<script>
$("p").append('<span class="s2">s2</span>');
</script>
--------------------------------------------
<p>
  <span class="s1">s1</span>
  <span class="s2">s2</span>
</p>

after

<p>
  <span class="s1">s1</span>
</p>
<script>
$("p").after('<span class="s2">s2</span>');
</script>
-------------------------------------------
<p>
  <span class="s1">s1</span>
</p>
<span class="s2">s2</span>
              //初始化字典数据
                $Core.DicCache.initDictionary("installdevName,customerType,publicserviceName,userdevState", function () {  
                		var approveState = data.data.approveState;
                		var appendRow = "";
                		if("0"!=approveState&&"1"!=approveState&&""!=approveState){
                			appendRow ="<tr align='center' id='appendRow'> <td   width= '16% ' colspan='3'>"+data.data.approveUserName+
                    		"</td><td  id='stateu' width= '16% ' colspan='3'>"+$Core.DicCache.get("userdevState")[approveState]+
                    		"</td><td   width= '16% ' colspan='3'>"+data.data.approveAdvice+
                    		"</td> <td   width= '20% ' colspan='3'>"+data.data.approveTime+
                    		"</td></tr>"
                    		$("#newRow").after(appendRow);
                			if("4"==approveState||"5"==approveState){
                				var appendRowT = "<tr align='center'> <td   width= '16% ' colspan='3'>"+data.data.approvePersonNameSecond+
                        		"</td><td   width= '16% ' colspan='3'>"+$Core.DicCache.get("userdevState")[approveState]+
                        		"</td><td   width= '16% ' colspan='3'>"+data.data.approveAdviceSecond+
                        		"</td> <td   width= '20% ' colspan='3'>"+data.data.approveTimeSecond+
                        		"</td></tr>"
                				$("#appendRow").after(appendRowT);
                				$("#stateu").html("审批通过");
                			}
                		}
                });

序列生成

    <table cellspacing="0" cellpadding="0" id="col">
      <tr id="newRow">
        <td width="20" class="tit">序号</td>
        <td width="160" class="tit">验收项目名称</td>
        <td width="120" class="tit">生产厂家</td>
      </tr>
      <tr>
        <td>1</td>
        <td>气化器</td>
        <td></td>
      </tr>
 </table>
                 	var oTable = $("#col");
                 	for(var i=1,a=0;i<oTable[0].rows.length;i++){  
                        oTable[0].rows[i].cells[0].innerHTML = (++a);  
                    }  
                 	var dictionaryItems = oTable[0].rows[oTable[0].rows.length-1];
                 	dictionaryItems.id="dicItem";

appendTo()

方法在被选元素的结尾(仍然在内部)插入指定内容。

   var $li = $('#' + file.id),
                        $percent = $li.find('.progress span');
                    //console.log("percentage:", percentage);
                    // 避免重复创建
                    if (!$percent.length) {
                        $percent = $('<p class="progress"><span></span></p>')
                            .appendTo($li)
                            .find('span');
                    }

$( "input" ).focus(function() {
  $( "<span>获取焦点!</span>" ).appendTo( "body" ).fadeOut( 1000 );
});

 

appendChild() 方法向节点添加最后一个子节点。

<ul id="myList1"><li>Coffee</li><li>Tea</li></ul>
<ul id="myList2"><li>Water</li><li>Milk</li></ul>

<button onclick="myFunction()">亲自试一试</button>

<script>
function myFunction()
{
var node=document.getElementById("myList2").lastChild;
document.getElementById("myList1").appendChild(node);
}
</script>

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/83546397
今日推荐