Skip to content

節點的屬性

在前面曾介紹過 DOM 的觀念DOM 的選取方式,若是不清楚的! 請至前面兩篇文章複習一下。現在,Away 要帶各位來看看如何操作 DOM 去更改網頁的內容。

寫入文字

html
<div class="box" id="Box">
  <h1 class="box-title">title</h1>
  <a class="box-link" href="javascript:;"></a>
</div>
js
const elemBox = document.querySelector("#Box");
const elemTitle = elemBox.querySelector(".box-title");
const elemLink = elemBox.querySelector(".box-link");

textContent

代表設定文字內容。

js
elemTitle.textContent = "我是標題";
elemLink.textContent = "前往 Yahoo!";

innerText

代表設定文字內容。

js
elemTitle.innerText = "我是標題";

innerHTML

代表在一個 DOM 內的全部 HTML 標籤和文字,但不包含所選取 DOM 的 HTML 標籤。

js
elemLink.innerHTML = "<em>Go To PCHome</em>";

outerHTML

代表在一個 DOM 內的全部 HTML 標籤和文字,包含所選取 DOM 的 HTML 標籤。

js
elemLink.outerHTML = "<em>Go To PCHome</em>";

讀取文字

html
<div class="box" id="Box">
  <h1 class="box-title">
    Javascript 課程 <small style="display: none;">JS</small>
  </h1>
  <a class="box-link" href="http://tw.yahoo.com">前往 Yahoo!</a>
</div>
js
const elemBox = document.querySelector("#Box");
const elemTitle = elemBox.querySelector(".box-title");
const elemLink = elemBox.querySelector(".box-link");

textContent

代表了 DOM 或其後代的文字內容。

js
// Javascript 課程 JS
console.log(elemTitle.textContent);

innerText

代表 DOM 及其後代之已渲染文字內容的屬性。

js
// Javascript 課程
console.log(elemTitle.innerText);

innerHTML

代表在一個 DOM 內的全部 HTML 標籤和文字,但不包含所選取 DOM 的 HTML 標籤。

js
/*
  <h1 class="box-title">Javascript 課程 <small style="display: none;">JS</small></h1>
  <a class="box-link" href="http://tw.yahoo.com">前往 Yahoo!</a>
*/
console.log(elemBox.innerHTML);

outerHTML

代表在一個 DOM 內的全部 HTML 標籤和文字,包含所選取 DOM 的 HTML 標籤。

js
/*
  <div class="box" id="Box">
    <h1 class="box-title">Javascript 課程 <small style="display: none;">JS</small></h1>
    <a class="box-link" href="http://tw.yahoo.com">前往 Yahoo!</a>
  </div>
*/
console.log(elemBox.outerHTML);

屬性控制

改變屬性

setAttribute()