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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用獲取節點的方式實現點擊按鈕改變標簽背景顏色的問題

用獲取節點的方式實現點擊按鈕改變標簽背景顏色的問題

簡單簡同學 2018-10-15 10:42:24
跟著視頻敲的,視頻里的能實現,我的不行,有onclick事件,但是背景色不變<!DOCTYPE?html> <html?lang="en"> <head> ????<meta?charset="UTF-8"> ????<title>點擊設置p標簽背景色</title> ????<style> ????????div?{ ????????????width:?200px; ????????????height:?400px; ????????????border:?1px?solid?red; ????????} ????</style> </head> <body> <input?type="button"?value="變色"?id="btn"> <div?id="dv"> ????<br> ????<span>這是一個span</span> ????<p>這是一個p</p> ????<span>這是一個span</span> ????<p>這是一個p</p> ????<span>這是一個span</span> ????<p>這是一個p</p> ????<a?href="www.bing.com">這是一個a</a> </div> <script?src="../common.js"></script> <script> ????my$("btn").onclick?=?function?()?{ ????????//獲取div ?var?dvObj?=?my$("dv"); ????????//console.log(dvObj); ????????//獲取div下所有的子節點 ?var?nodes?=?dvObj.childNodes; ????????console.log(nodes.length); ????????//循環遍歷所有的子節點 ?for?(var?i?=?0;?i?<?nodes.length;?i++)?{ ????????????//判斷這個子節點是不是p標簽 ?if?(nodes[i].nodeType?==?1?&&?nodes[i].nodeName?==?"p")?{ ????????????????nodes[i].style.backgroundColor?=?"red"; ????????????} ????????} ????} </script> </body> </html>在敲nodes.length的時候webstrom提示的length是被劃掉的,是不能用length嘛
查看完整描述

1 回答

已采納
?
聰明的湯姆

TA貢獻112條經驗 獲得超33個贊

if判斷條件中,把p改為大寫,因為你獲取的nodeName都是大寫的

if?(nodes[i].nodeType?==?1?&&?nodes[i].nodeName?==?"P")

或者轉小寫再判斷

if?(nodes[i].nodeType?==?1?&&?nodes[i].nodeName.toLowerCase()?==?"p")

望采納!

ps:遇到什么問題,自己先在瀏覽器調試,比如這里你可以在for里面輸出所有子節點的nodeType和nodeName

查看完整回答
1 反對 回復 2018-10-15
  • 1 回答
  • 0 關注
  • 1267 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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