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()