在現代Web開發中,JavaScript(JS)扮演著至關重要的角色,它使網頁具備了動態交互的能力。通過JS,開發者能夠實時地改變頁面的布局、樣式以及內容,極大地提升了用戶體驗。本文將聚焦于如何使用JS來修改文檔對象模型(DOM)中的元素樣式和屬性,通過具體的示例和深入的分析,讓你全面掌握這一技能。
DOM是一套標準,用于表示和修改HTML和XML文檔的結構。JavaScript提供了多種方法來訪問和修改DOM中的元素。通過JS,我們可以改變元素的CSS樣式和HTML屬性,從而實現頁面的動態更新。
// 改變元素的樣式
document.getElementById('myElement').style.color='red';
// 改變元素的HTML屬性
document.getElementById('myLink').setAttribute('href', 'https://www.example.com');
當JS修改DOM元素的樣式或屬性時,實際上是在改變瀏覽器對這些元素的渲染方式。JS通過訪問DOM API,如style屬性和setAttribute方法,來實現這一過程。
假設我們有一個登錄表單,當用戶輸入信息時,我們希望實時顯示輸入狀態,如輸入框邊框顏色的變化。
const inputField=document.getElementById('username');
inputField.addEventListener('input', function() {
if (this.value.trim().length > 0) {
this.style.borderColor='green';
} else {
this.style.borderColor='red';
}
});
頻繁的DOM操作可能導致頁面性能下降,尤其是當涉及到大量元素時。
const element=document.getElementById('myElement');
element.classList.add('highlight'); // 利用CSS類
掌握通過JS操縱DOM元素的樣式和屬性是前端開發的基本功之一。它不僅增強了頁面的互動性和響應性,也是構建現代Web應用的基礎。隨著Web技術的不斷進步,DOM操作的效率和便捷性也在不斷提升,學習和掌握這一技能將為你的前端開發之路打開更多可能性。
希望本文能夠幫助你深入理解并熟練運用JS來操控DOM元素的樣式和屬性,無論是在日常的編碼實踐中,還是在解決復雜的問題場景下,都能得心應手。如果你有任何疑問或想要分享的經驗,歡迎在評論區留言。讓我們一起探索前端世界的無限可能!
OM節點獲取
var oLi=document.getElementsByTagName("li");
var oLi=document.getElementById("cssLi");
var oLi=document.getElementsByName("myInput");
操作屬性:
document.getElementById(id).attribute=new value
實例
本例改變了 <img> 元素的 src 屬性:
<!DOCTYPE html>
<html>
<body>
<img id="image" src="smiley.gif">
<script>
document.getElementById("image").src="landscape.jpg";
</script>
</body>
</html>
操作內容
修改 HTML 內容的最簡單的方法時使用 innerHTML 屬性和innerText(IE支持) outerText outerHTML
區別描述如下:
innerHTML 設置或獲取位于對象起始和結束標簽內的 HTML
outerHTML 設置或獲取對象及其內容的 HTML 形式
innerText 設置或獲取位于對象起始和結束標簽內的文本
outerText 設置(包括標簽)或獲取(不包括標簽)對象的文本
document.getElementById(id).innerHTML=new HTML
實例一
本例改變了 <p> 元素的內容:
<html>
<body>
<p id="p1">Hello World!</p>
<script>
document.getElementById("p1").innerHTML="New text!";
</script>
</body>
</html>
實例二:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>innerHTML、outerHTML、innerText、outerHTML之間的區別</title>
<script language="JavaScript" type="text/javascript">
//.innerHTML
function innerHTMLDemo()
{
id1.innerHTML="<i><u>設置或獲取位于對象起始和結束標簽內的 HTML.</u></i>";
}
//.innerText
function innerTextDemo()
{
id2.innerText="<i><u>設置或獲取位于對象起始和結束標簽內的文本.</u></i>";
}
//.outerHTML
function outerHTMLDemo()
{
id3.outerHTML="<font size=9pt color=red><i><u>設置或獲取對象及其內容的 HTML 形式.</u></i></font>";
}
//.outerText
function outerTextDemo()
{
id4.outerText="<br></br><i><u>設置(包括標簽)或獲取(不包括標簽)對象的文本.</u></i>";
}
</script>
</head>
<body>
<ul>
<li id="id1" onclick="innerHTMLDemo()">innerHTML效果.</li>
<li id="id2" onclick="innerTextDemo()">innerText效果.</li>
<li id="id3" onclick="outerHTMLDemo()">outerHTML效果.</li>
<li id="id4" onclick="outerTextDemo()">outerText效果.</li>
</ul>
</body>
</html>
簡單的說innerHTML和outerHTML、innerText與outerText的不同之處在于:
1)、innerHTML與outerHTML在設置對象的內容時包含的HTML會被解析,而innerText與outerText則不會。
2)、在設置時,innerHTML與innerText僅設置標簽內的文本,而outerHTML與outerText設置包括標簽在內外的文本(多個標簽)。
特別說明:
innerHTML是符合W3C標準的屬性,而innerText只適用于IE瀏覽器,因此,盡可能地去使用innerHTML,而少用innerText,
如果要輸出不含HTML標簽的內容,可以使用innerHTML取得包含HTML標簽的內容后,再用正則表達式去除HTML標簽,
下面是一個簡單的符合W3C標準的示例:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">無HTML,符合W3C標準</a>
操作樣式
如需改變 HTML 元素的樣式,請使用這個語法:
document.getElementById(id).style.property=new style
CSS樣式的個別屬性采用馱峰式寫法(如:backgroundColor), 且不帶橫線。
document.body.style.backgroundColor="red";
如:
<p id="p2">Hello World!</p>
<script>
document.getElementById("p2").style.color="blue";
</script>
document.getElementById(id).className="類名";
document.getElementById(id).className="類名1 類名2";
document.getElementById(id).className+=" 類名3";//注意要留有空格
<!DOCTYPE HTML>
<html>
<head>
<title>追加CSS類別</title>
<style type="text/css">
.myUL1{
color:#0000FF;
font-family:Arial;
font-weight:bold;
}
.myUL2{
text-decoration:underline;
}
</style>
<script language="javascript">
function check(){
var oMy=document.getElementsByTagName("ul")[0];
oMy.className +=" myUL2"; //追加CSS類,注意要留有空格
}
</script>
</head>
<body>
<ul onclick="check()" class="myUL1">
<li>HTML</li>
<li>JavaScript</li>
<li>CSS</li>
</ul>
</body>
</html>
注意:追加CSS類,注意要留有空格;
ul標記已經設定了.myUL1類的樣式的情況下,oMy.className="myUL1 myUL2"不等同于oMy.className +=" myUL2",
oMy.className="myUL1 myUL2"表現形式與oMy.className="myUL2"一樣; 因此應當采用oMy.className +=" myUl2";
改變 HTML 樣式
通過 HTML DOM,您能夠訪問 HTML 元素的樣式對象。
下面的例子改變一個段落的 HTML 樣式:
如需向 HTML DOM 添加新元素,您首先必須創建該元素(元素節點),然后把它追加到已有的元素上。
<div id="d1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);
var element=document.getElementById("d1");
element.appendChild(para);
</script>
注意:經過測試證明,para.appendChild(node);調換至最后一行,運行正常
最可行的方法:添加節點的順序,由內到外(個人習慣);
0月19日,江蘇省教育考試院公布江蘇省2024年普通高考報名問答,對考生在高考報名中的疑問進行了詳細解答——
1.2024年高考網上報名的時間和網址是什么?
答:2024年高考網上報名時間為2023年11月1日至4日,信息確認的截止時間為11月7日17時。報名網址為www.jseea.cn或gk.jseea.cn。
2.哪些人員可以參加高考報名?
答:(1)具有我省戶籍且同時符合下列條件的人員,可以申請報名:①遵守中華人民共和國憲法和法律;②高級中等教育學校畢業或具有同等學力;③身體狀況符合相關要求。
(2)非我省戶籍的來蘇務工就業人員隨遷子女(以下簡稱“隨遷子女”)申請在我省參加高考的,除符合上述條件外,還須同時具備以下條件:①在我省取得普通高中學籍并有完整的普通高中學習經歷;②其監護人在我省有合法穩定職業、合法穩定住所(含租賃)。
(3)在我省定居并符合報名條件的外國人,持公安機關簽發的《中華人民共和國外國人永久居留身份證》,可以申請報名。符合條件的港澳臺籍考生,可以申請報名。
3.哪些人員不能參加高考報名?
答:下列人員不得報名:
(1)具有普通高等學歷教育資格的高校在校生,或已被普通高校錄取并保留入學資格的學生;
(2)高級中等教育學校非應屆畢業的在校生;
(3)在高級中等教育階段非應屆畢業年份以弄虛作假手段報名并違規參加普通高校招生考試(包括全國統考、省級統考和高校單獨組織的招生考試)的應屆畢業生;
(4)因違反國家教育考試規定,被給予暫停參加高考處理且在??计趦鹊娜藛T;
(5)因觸犯刑法已被有關部門采取強制措施或正在服刑者。其中,未成年人按相關法律規定執行。
4.我省學籍的高級中等教育學校應屆畢業生如何報名?
答:我省學籍的高級中等教育學校應屆畢業生必須遵循“高考與合格性考試同一屬地報名考試”的原則,在報名地市、縣(市、區)招生考試機構指定的地點辦理報名手續。
5.非我省學籍的我省戶籍應屆畢業生如何報名?
答:非我省學籍的我省戶籍應屆畢業生,在其戶籍所在市、縣(市、區)招生考試機構指定的地點辦理報名手續。在報名開始前,一律先由市、縣(市、區)招生考試機構指定的專人進行資格審核,審核通過后才能報名。非我省學籍的我省戶籍應屆畢業生報名時,須提供當地教育行政部門出具的學籍卡和實際就讀證明等佐證材料。
6.往屆生、社會考生如何報名?
答:往屆生、社會考生,在其戶籍所在市、縣(市、區)招生考試機構指定的地點辦理報名手續。在報名開始前,一律先由專人進行資格審核,審核通過后才能報名。往屆生、社會考生須提供畢業證等有關證件。已被普通高校錄取而未報到或報到后退學的考生,報名時必須上交有關高校的錄取通知書或提供退學證明。
7.在我省就讀的隨遷子女如何報名?
答:隨遷子女考生須由考生本人向現就讀中學提交《2024年來蘇務工就業人員隨遷子女高考報名申請表》,由現就讀中學匯總后報就讀中學所屬教育行政部門和縣(市、區)招生考試機構,經審核通過后方可完成報名手續。報名時還須提供以下證明材料:(1)身份證明??忌救硕矸葑C和戶口簿的原件及復印件。(2)穩定住所證明。考生本人或其監護人的房屋產權證、房屋買賣合同、租賃合同,或考生和其監護人在我省的暫住證(居住證)等證明材料的原件和復印件。(3)監護人就業證明。監護人在我省的就業單位或所在社區(村委會)出具的就業證明原件。
8.在我省定居的外國人、港澳臺籍考生以及其他非普通高中應屆畢業生等,如何報名?
答:在我省定居的外國人、港澳臺籍考生以及其他非普通高中應屆畢業生等,在報名開始前,一律先由專人進行資格審核,審核通過后才能報名。
9.考生的報考科類有哪些?
答:考生的報考科類分為普通類、體育類和藝術類。
10.2024年普通高考考試科目有哪些?
答:2024年我省普通高考實行“3+1+2”模式。其中“3”是指統一高考的語文、數學、外語3門科目;“1”是指考生首選科目在物理、歷史兩門中選擇1門;“2”是指考生再選科目在思想政治、地理、化學、生物4門中選擇2門。
語文、數學、外語3門統考科目采用全國統一命題試卷,選擇性考試科目由我省自行組織命題。
11.高考文化總成績是如何組成的?
答:高考總分值為750分,由全國統一高考的語文、數學、外語3個科目成績和考生選擇的3門學業水平選擇性考試科目成績組成。
語文、數學、外語3門統考科目,每門150分,其中外語科目含聽力考試30分。各科均以原始分計入考生總分。
3門選擇性考試科目,每門100分。其中,物理、歷史以原始分計入總分,其余4門科目(思想政治、地理、化學、生物)以等級分計入總分。
12.選擇性考試科目組合有哪些?
答:選擇性考試科目有12種組合,具體如下:
13.考生選科時須參考2024年擬在江蘇招生的普通高校本科專業選考科目要求,在哪查看?
答:從2024年起,普通高校本科專業選考科目要求按教育部2021年新修訂的《普通高校本科招生專業選考科目要求指引(通用版)》執行。省教育考試院已于2022年1月在網站發布了2024年擬在江蘇招生的普通高校本科專業選考科目要求(https://www.jseea.cn/webfile/index/index_zkxx/2022-01-18/27031.html),請考生登錄查看。2024年在我省實際招生的高校、專業、計劃及選考科目要求,以省教育考試院公布的2024年招生計劃??癁闇省?/p>
14.綜合素質評價有哪些內容?
答:綜合素質評價內容分為思想品德、學業水平、身心健康、藝術素養、社會實踐、自我認識與生涯規劃六個方面。
思想品德主要考察學生在愛黨愛國、理想信念、誠實守信、仁愛友善、責任義務、安全防范等方面的認知與表現。
學業水平主要考察學生各門課程基礎知識、基本技能掌握情況以及運用知識解決問題的能力等。
身心健康主要考察學生的健康生活方式、體育鍛煉習慣、身體機能、運動技能和心理素質等。
藝術素養主要考察學生對藝術的審美感受、理解、鑒賞和表現的能力。
社會實踐主要考察學生的創新素養和在社會生活中動手操作、勞動技能、體驗經歷等情況。
自我認識與生涯規劃主要考察學生加強自我認知、樹立專業志向、學會選擇課程、實現主動發展等情況。
15.綜合素質評價在高校招生錄取中有何作用?
答:綜合素質評價是高校招生錄取的重要參考。高校根據學校辦學特色和人才培養要求,制定科學規范的高中學生綜合素質評價使用辦法,在招生章程中明確,并提前向社會公布,評價結果作為招生錄取的重要參考。在考生分數相同時,可作為優先錄取和優先安排專業的依據。
16.哪些考生可申請享受照顧政策?
答:(1)有下列情形之一的考生,在其文化統考成績總分的基礎上增加一定分數投檔;達到高校投檔條件的,由高校審查決定是否錄取。同一考生如符合多項增加分數投檔條件的,只能取其中幅度最大的一項分值,且不得超過20分。所有高考加分項目及分值均不得用于高校不安排分省招生計劃的藝術類專業、高水平運動隊、高校專項計劃等招生項目。
①烈士子女,錄取時加20分投檔。
②在服役期間榮立二等功以上或被戰區(原大軍區)以上單位授予榮譽稱號的退役軍人,錄取時加20分投檔。
③歸僑、華僑子女、歸僑子女和臺灣省籍考生(含臺灣戶籍考生),錄取時加5分投檔。
④自主就業的退役士兵,錄取時加10分投檔。
(2)符合下列條件之一,達到有關高校投檔要求的,在與其他考生同等條件下優先錄取:
平時榮獲二等功或者戰時榮獲三等功以上獎勵軍人的子女,一至四級殘疾軍人的子女,因公犧牲軍人的子女,駐國家確定的三類以上艱苦邊遠地區和西藏自治區、解放軍總部劃定的二類以上島嶼工作累計滿20年軍人的子女,在國家確定的四類以上艱苦邊遠地區或者解放軍總部劃定的特類島嶼工作累計滿10年軍人的子女,在飛或停飛不滿1年或達到飛行最高年限空勤軍人的子女,從事艦艇工作滿20年軍人的子女,在航天和涉核崗位工作累計滿15年軍人的子女,公安英模和因公犧牲、一級至四級因公傷殘公安民警子女,退出部隊現役的考生,殘疾人民警察,經共青團中央青年志愿者守信聯合激勵系統認定獲得5A級青年志愿者的考生,受到市級以上人民政府或省級以上部門表彰的見義勇為人員或其子女。
國家綜合性消防救援隊伍人員及其子女參加全國統考錄取的,參照軍人有關優待政策執行。
17.如何申請享受照顧政策?
答:符合照顧政策的考生須由本人申請,認真填寫《江蘇省2024年普通高校招生享受照顧政策考生申請表》,按規定流程完成相應職能部門資格審核,并于2023年12月31日前連同相關證明材料交高考報名點。逾期不予受理。
18.網上報名的主要流程如何?
答:(1)信息填報
考生須在規定時間內憑身份證、考籍號登錄網上報名系統,根據自身實際情況和填報要求如實填報相關信息,并立即網上提交??忌W上提交報名信息時,網上報名系統將對考生報名信息進行數據邏輯校驗,如果出現警告或提示信息,說明考生填報的欄目信息有誤或有關成績不符合要求,考生必須按警告或提示的內容仔細檢查所填報欄目并進行修改,直至正確為止。
(2)網上支付
考生報名信息網上提交成功后,系統將根據考生實際所報考科目自動生成應繳納報名考試費金額,考生可通過網銀、支付寶、微信等方式,按照核定金額支付報名考試費。網上支付成功后,考生方可到規定的報名點簽字確認報考信息。
報考藝術類專業省統考的考生,還須單獨支付相應的報名考試費。
(3)信息確認
網上支付成功的考生,各報名點統一打印考生報名信息確認表,考生須在規定的時間內到規定的報名點仔細核對本人的報名信息,核對無誤后,由考生本人在報名信息確認表上親筆簽字確認。報名信息確認截止時間為11月7日17時。
19.考生應如何正確填報戶籍信息?
答:考生務必核準本人最新戶籍信息,并確保與公安戶籍信息一致。如考生戶籍調整,須及時申請修改報名時填報的信息。如因填寫錯誤或戶籍信息更新不及時,導致后期不能填報相關志愿,以及由此引起的其他遺留問題均由考生本人負責。
20.網上報名成功后,可以修改報考信息嗎?
答:考生報名信息網上提交成功后,在打印信息確認表之前,考生可憑密碼重新上網修改自己所填的報名信息??忌鷪竺畔⒁唤洿蛴〈_認,任何人不得擅自更改。如因特殊情況確需修改信息的,由考生本人向報名點提出申請,經批準后,由報名點進行修改,并須重新打印后進行確認。
21.體育類、藝術類考生高考文化考試科目有哪些?
答:我省體育類、藝術類考生的高考文化考試科目與普通類考生一致,實行“3+1+2”模式。其中“3”是指統一高考的語文、數學、外語3門科目;“1”是指考生首選科目在物理、歷史兩門中選擇1門;“2”是指考生再選科目在思想政治、地理、化學、生物4門中選擇2門。
22.體育類、藝術類考生如何進行專業考試報名?
答:報考體育類、藝術類專業考試的考生須在高考報名時一并填報體育類或藝術類專業考試相關信息。
23.2024年藝術類專業省統考如何報名?
答:我省2024年普通高校招生藝術類專業省統考報名與2024年高考報名同步進行。從2024年起,我省開設音樂、舞蹈、表(導)演、播音與主持、美術與設計和書法等6類省統考,考生可報考上述1類或多類。
報考省統考的考生須于11月1日至7日按照報考類別分別進行省統考專業考試報考信息確認和繳費,截止時間為11月7日17時。考生完成網上支付后,須返回系統查詢繳費狀態,當繳費狀態為“已支付”時方可打印專業考試信息確認表。報名結束后,考生須在規定的時間內自行上網打印專業考試通知書??忌鷳{相應的專業考試通知書和本人身份證參加省統考專業考試。
24.音樂類專業省統考如何填報報名信息?
答:音樂類專業省統考分音樂表演、音樂教育兩個方向。其中音樂表演方向僅設主項(聲樂或器樂),無副項;音樂教育方向設主項(聲樂或器樂)和副項(器樂或聲樂),主項和副項須不同。報名時,考生可兼報音樂表演和音樂教育兩個方向。兼報音樂表演和音樂教育的考生,其兩個方向的主項須相同,相同考試科目只考1次,考試成績互認(按相應的分值比例折算)。報考方向和主項一經選定,不得修改。
25.表(導)演類專業省統考如何填報報名信息?
答:表(導)演類專業省統考分為戲劇影視表演、服裝表演和戲劇影視導演3個方向。報名時,考生可兼報戲劇影視表演、服裝表演、戲劇影視導演方向。兼報戲劇影視表演和戲劇影視導演的考生,相同考試科目只考1次,考試成績互認(按相應的分值比例折算)。報考方向一經選定,不得修改。
26.報考戲曲類省際聯考的考生如何填報報名信息?
答:根據教育部有關規定,戲曲類省際聯考由有關省級教育行政部門、招生考試機構、戲曲類本科專業招生高校共同組織實施,考試成績用于戲曲類專業的招生錄取。戲曲類本科專業實行省際聯考后,招生高校不再組織其他考試。
實行省際聯考的高校戲曲類本科專業包括音樂表演(戲曲音樂)、作曲與作曲技術理論(戲曲音樂)、表演(戲曲表演)、戲劇影視導演(戲曲導演)等。每個專業或劇種(方向)在全國設置一個考點,相關考生均可申請參加考試。高校戲曲類??茖I不再單獨組織省際聯考,由招生高校自行選擇對應到戲曲類省際聯考或省統考相應類別,并及時向考生公布。
報考戲曲類省際聯考的考生,在高考報名時須選擇“戲曲類省際聯考”,高考報名結束后按照組考高校要求參加報名和考試。
27.報考藝術類專業??嫉目忌鷪竺麜r還需注意什么?
答:校考的報名時間、地點和要求由招生高校確定,考生根據招生高校的要求完成報名手續。報考有關院校藝術類專業??嫉目忌缙渌鶊罂紝I是省統考涵蓋專業,須根據江蘇省及招生高校的要求,參加相關專業省統考且省統考成績合格,方能按招生院校的錄取規則參加錄取。2024年江蘇省普通高校招生藝術類專業省統考涵蓋專業范圍按《關于公布2024年江蘇省普通高校招生藝術類專業省統考涵蓋專業范圍的通知》(蘇教考招〔2023〕1號)執行。
28.考生報考學業水平選擇性考試科目有什么要求?
答:考生所選的選擇性考試科目,其所選科目的學業水平合格性考試成績達到合格后,方可參加該科目的選擇性考試。
29.意向參加2024年高職院校提前招生的考生,對其合格性考試有何要求?
答:凡意向參加2024年高職院校提前招生的考生,須取得語文、數學、外語、思想政治、歷史、地理、物理、化學、生物、信息技術10門科目的合格性考試成績??忌粑慈〉蒙鲜?0門科目的合格性考試成績,應報名參加相應科目考試??忌魧σ讶〉玫暮细裥钥荚嚦煽儾粷M意的,可報名相應科目的考試。
揚子晚報/紫牛新聞記者 楊甜子
校對 王菲
*請認真填寫需求信息,我們會在24小時內與您取得聯系。