為嘛刪除不了= =
<!DOCTYPE html>
<html>
?<head>
? <title> new document </title> ?
? <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> ??
? <script type="text/javascript">?
??
? ? ? window.onload = function(){
? ? ? ? ? var tr=document.getElementsByTagName("tr");
? ? ? ? ? for(var i= 0;i<tr.length;i++)
? ? ? ? ? {
? ? ? ? ? ? ? bgcChange(tr[i]);
? ? ? ? ? }
? ? ?// 鼠標(biāo)移動改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。
? ? ? } ? ? ? ??
? ? ?function bgcChange(obj)
? ? ?{
? ? ? ? obj.onmouseover=function(){
? ? ? ? ? ? obj.style.backgroundColor="#f2f2f2";
? ? ? ? }
? ? ? ? obj.onmouseout=function(){
? ? ? ? ? ? obj.style.backgroundColor="#fff";
? ? ? ? }
}
??
? ?
? ?
? ? ?// 編寫一個(gè)函數(shù),供添加按鈕調(diào)用,動態(tài)在表格的最后一行添加子節(jié)點(diǎn);
? ? ?var num=2;
? ? ?function add(){
? ? ? ? num++;
? ? ? ? var tr=document.createElement("tr");
? ? ? ? var xh=document.createElement("td");
? ? ? ? var xm=document.createElement("td");
? ? ? ? var del=document.createElement("td");
? ? ? ? var tab=document.getElementById("table");
? ? ? ? xh.innerHTML="xh00"+num;
? ? ? ? xm.innerHTML="第"+num+"學(xué)生";
? ? ? ? del.innerHTML="<a href='javascript:;' onclick='del()' >刪除</a>";
? ? ? ? tab.appendChild(tr);
? ? ? ? tr.appendChild(xh);
? ? ? ? tr.appendChild(xm);
? ? ? ? tr.appendChild(del);
? ? ?
? ? ?var tr = document.getElementsByTagName("tr");
? ? ? ? ? for(var i= 0;i<tr.length;i++)
? ? ? ? ? {
? ? ? ? ? ? ? bgcChange(tr[i]);
? ? ? ? ? }
? ? ? ?
? ? ?}
? ? ?
? ? ?// 創(chuàng)建刪除函數(shù)
? ? ?function del()
? ? ?{
? ? ? ? ?var aa=this.parentNode.parentNode;
? ? ? ? ?aa.parentNode.removeChild(aa);
? ? ?}
?
? </script>?
?</head>?
?<body>?
? <table border="1" width="50%" id="table">
? <tr>
<th>學(xué)號</th>
<th>姓名</th>
<th>操作</th>
? </tr> ?
? <tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javascript:;" onclick="del(this);">刪除</a></td> ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? </tr>
? <tr>
<td>xh002</td>
<td>劉小芳</td>
<td><a href="javascript:;" onclick="del(this);">刪除</a></td> ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? </tr> ?
? </table>
? <input type="button" value="添加一行" onclick="add()" /> ? <!--在添加按鈕上添加點(diǎn)擊事件 ?-->
?</body>
</html>
2016-08-10
? ? ?function del()
? ? ?{
? ? ? ? ?var aa=this.parentNode.parentNode;
? ? ? ? ?aa.parentNode.removeChild(aa);
? ? ?}
這里的this不能這樣用,這個(gè)this現(xiàn)在代表的是window而不是<a>(下面有解釋),如果要獲取<a>應(yīng)該設(shè)置形參把從head里傳來的this(<a>)接住,然后得到<a>,像這樣
? ? ?function del(obj)
? ? ?{
? ? ? ? ?var aa=obj.parentNode.parentNode;
? ? ? ? ?aa.parentNode.removeChild(aa);
? ? ?}
下面有一些關(guān)于this的相關(guān)信息,復(fù)制過來的希望對你有用
表示對觸發(fā)事件的DOM對象的引用
<div onclick="可以在里面使用this">division element</div>
onclick="function(this){}";onclick="function(){this..}"
腳本引擎生成了一個(gè)div實(shí)例對象的匿名成員方法,而onclick指向這個(gè)方法
2.在函數(shù)內(nèi)使用this,表示引用當(dāng)前window對象
<script language="javascript">
function a(){this..}
</script>
對于IE瀏覽器可以用this.event.srcElement來獲取對當(dāng)前DOM對象的引用,F(xiàn)F不行。這種方法如果在使用函數(shù)的時(shí)候new了一下,那么this將會表示函數(shù)a,而不是window對象.var b=new a(); var b=a();兩者會產(chǎn)生不一樣的結(jié)果,很神奇的this
3、用DHTML方式在事件處理函數(shù)中使用this關(guān)鍵字:
<script language="javascript">
var div = document.getElementById('elmtDiv');
div.onclick = function()
{
// 在此使用this
};
</script>
這里的this關(guān)鍵字指示的內(nèi)容是div元素對象實(shí)例,在腳本中使用DHTML方式直接為div.onclick賦值一個(gè)EventHandler的方法,等于為div對象實(shí)例添加一個(gè)成員方法。這種方式和第一種方法的區(qū)別是,第一種方法是使用HTML方式,而這里是DHTML方式,后者腳本解析引擎不會再生成匿名方法。Jquery中的 $('div').click(function(){$(this)..});$(this)也就是這種用法。
4.類定義中使用this
function JSClass()
{
var myName = 'jsclass';
this.m_Name = 'JSClass';
}
JSClass.prototype.ToString = function()
{
alert(myName + ', ' + this.m_Name);
};
var jc = new JSClass();
jc.ToString();
這時(shí)this表示m_Name是JSClass的成員變量,var myName只能算是“構(gòu)造函數(shù)”內(nèi)的一個(gè)變量,外部肯定無法引用。
5.函數(shù)中的內(nèi)部函數(shù)中使用this
function OuterFoo()
{
this.Name = 'Outer Name';
function InnerFoo()
{
var Name = 'Inner Name';?
alert(Name + ', ' + this.Name);
}
return InnerFoo;
}
OuterFoo()();
OuterFoo()里面的this.Name表示window.Name,InnerFoo()里面的this.Name也表示window.Name