亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么不能給新增行加背影色?

<!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(i=0;i<tr.length;i++){
????????????changebg(tr[i]);
????????}
????????
????????function?changebg(obj){
????????????obj.onmousemove=function(){
????????????obj.style.backgroundColor="#ccc";
????????????}
????????????obj.onmouseout=function(){
????????????obj.style.backgroundColor="#fff";
????????????}
????????}
?????}
????????//?編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
??????var?xhNum=2
??????function?add(){
??????????xhNum++;
??????????if(xhNum<10){
??????????xhNum="00"+xhNum;
??????????}else?if(xhNum>=10||xhNum<=99){
??????????xhNum="0"+xhNum;
??????????}else?{?
??????????xhNum=xhNum};
??????????
?????var?tab=document.getElementById("table");
???????????var?ntr=document.createElement("tr");
?
??????????var?xh=document.createElement("td");
??????????xh.innerHTML="xh"+xhNum;
??????var?xn=document.createElement("td");
??????????xn.innerHTML="姓名";
??????var?rm=document.createElement("td")
??????????rm.innerHTML="<a?href='javascript:;'?onclick='del(this)'?>刪除</a>";
??????????tab.appendChild(ntr)?;
??????????ntr.appendChild(xh);
??????????ntr.appendChild(xn);
??????????ntr.appendChild(rm);??
??????????
??????var?ntr?=?document.getElementsByTagName("tr");
??????????for(var?i=?0;i<ntr.length;i++)
??????????{
??????????????changebg(ntr[i]);
??????????}//為什么不能給新增行加背影色?
??????}????????????
????????
?????//?創建刪除函數
??????function?del(obj){
??????delRow=obj.parentNode.parentNode;
??????delRow.parentNode.removeChild(delRow);
??????}
?????

??</script>?
?</head>?
?<body>?
???????<table?border="1"?width="50%"?id="table">
???????<tr>
????????<th>學號</th>
????????<th>姓名</th>
????????<th>操作</th>
???????</tr>??

???????<tr>
????????<td>xh001</td>
????????<td>王小明</td>
????????<td><a?href='javascript:;'?onclick='del(this)'?>刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
???????</tr>

???????<tr>
????????<td>xh002</td>
????????<td>劉小芳</td>
????????<td><a?href='javascript:;'?onclick='del(this)'?>刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
???????</tr>??

???????</table>
???????<input?type="button"?value="添加一行"?onclick="add()"/>???<!--在添加按鈕上添加點擊事件??-->
?</body>
</html>


正在回答

2 回答

function changebg(obj){

? ? ? ? ? ? obj.onmousemove=function(){

? ? ? ? ? ? obj.style.backgroundColor="#ccc";

? ? ? ? ? ? }

? ? ? ? ? ? obj.onmouseout=function(){

? ? ? ? ? ? obj.style.backgroundColor="#fff";

? ? ? ? ? ? }

? ? ? ? }

這個方法要寫到外面去,你把這個方法寫到onload的function中去了,外界是引用不到的,還有你的添加方法可能有問題,你把tr添加到tbody外去了

http://img1.sycdn.imooc.com//55ebb8fe0001ce4e04680039.jpg

0 回復 有任何疑惑可以回復我~
#1

慕工程9285452 提問者

把方法移到onload外面的確解決了問題,非常感謝!
2015-09-06 回復 有任何疑惑可以回復我~
#2

命運

多謝....
2015-09-12 回復 有任何疑惑可以回復我~
<!DOCTYPE?html>
<html>
	<head>
		<title>?new?document?</title>??
		<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"/>???
		<script?type="text/javascript">?

			//起始背景色函數
			window.onload?=?function(){
				var?trs?=?document.getElementsByTagName('tr');
				for?(var?i?=?0;?i?<?trs.length;?i++){
					setOver(trs[i]);
					setOut(trs[i]);
				};
			}

			//背景色函數
			
			function?setOver?(obj)?{
				obj.onmouseover?=?function(){
					this.style.backgroundColor?=?"##f2f2f2"?
				};
			}
			function?setOut?(obj)?{
				obj.onmouseout??=?function(){
					this.style.backgroundColor?=?"#fff"?
				};;
			}

			//刪除函數
			function?removeLine?(obj)?{
				var?oG?=?obj.parentNode.parentNode.parentNode;
				var?oP?=?obj.parentNode.parentNode;
				oG.removeChild(oP);
			}
			
			
			
			//添加函數
			function?newLine?()?{
				var?stuName?=?prompt("enter?name","");
				var?stuId???=?prompt("enter?number","");
				var?objTr???=?document.createElement('tr');

				objTr.innerHTML?=?
				"<td>"+stuId+"</?td><td>"+stuName+"</?td><td><a?href?=?'javascript:;'?onclick?=?'removeLine(this)'?>刪除</?a></?td>?";

				setOver(objTr);
				setOut(objTr);

				document.getElementById('table').lastChild.appendChild(objTr);

			}
			
			?
		</script>?
	</head>?
	<body>?
		<table?border="1"?width="50%"?id="table">
			<tr>
				<th>學號</th>
				<th>姓名</th>
				<th>操作</th>
			</tr>??

			<tr>
				<td>xh001</td>
				<td>王小明</td>
				<td><a?href="javascript:;"?onclick?=?"removeLine(this)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
			</tr>

			<tr>
				<td>xh002</td>
				<td>劉小芳</td>
				<td><a?href="javascript:;"?onclick?=?"removeLine(this)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
			</tr>??

		</table>
		<input?type="button"?value="添加一行"?onclick="newLine()"??/>???<!--在添加按鈕上添加點擊事件??-->
	</body>
</html>

求指導,也是改變不了背景顏色,我這個不光無法給新行加顏色,windo.onload 的時候也不行,真是著急死了!

0 回復 有任何疑惑可以回復我~
#1

慕工程9285452 提問者

只能說你太粗心了,this.style.backgroundColor = "##f2f2f2" 這個看出有什么問題了嗎? 多了個#
2015-10-05 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么不能給新增行加背影色?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號