ãã®ç« ã§ã¯ãDOM ãå©ç¨ããã¦ã§ã㨠XML éçºã®ããé·ãä¾ãããã¤ãç´¹ä»ãã¾ããå¯è½ãªéããããã®ä¾ã§ã¯ããã¥ã¡ã³ããªãã¸ã§ã¯ããæä½ããä¸ã§ããç¨ãããã API ãææ³ã JavaScript ã®ãã¿ã¼ã³ãå©ç¨ãã¦ãã¾ãã
ä¾ 1: é«ãã¨å¹ä»¥ä¸ã®ä¾ã¯ãæ§ã
ãªå¯¸æ³ã®ç»åã«ã¤ãã¦ãheight
㨠width
ããããã£ã使ç¨ãã¦ãã¾ãã
<p>
ç»å 1: é«ããå¹
ãã¹ã¿ã¤ã«ç¡ã
<img id="image1" src="https://www.mozilla.org/images/mozilla-banner.gif" />
</p>
<p>
ç»å 2: height="50"ãwidth="500"ãã¹ã¿ã¤ã«ç¡ã
<img
id="image2"
src="https://www.mozilla.org/images/mozilla-banner.gif"
height="50"
width="500" />
</p>
<p>
ç»å 3: é«ãã¨å¹
ãªããstyle="height: 50px; width: 500px;"
<img
id="image3"
src="https://www.mozilla.org/images/mozilla-banner.gif"
style="height: 50px; width: 500px;" />
</p>
<div id="output"></div>
const arrImages = [
document.getElementById("image1"),
document.getElementById("image2"),
document.getElementById("image3"),
];
const objOutput = document.getElementById("output");
let strHtml = "<ul>";
for (const img of arrImages) {
strHtml += `<li>image${i + 1}: height=${img.height}, width=${img.width}, style.height=${img.style.height}, style.width=${img.style.width}</li>`;
}
strHtml += "</ul>";
objOutput.innerHTML = strHtml;
ä¾ 2: å¢çç·ã®å±æ§
<div id="box"></div>
<form name="FormName">
<button id="btn1">å¢çç·ã 20px å¹
ã«ãã</button>
<button id="btn2">å¢çç·ã 5px å¹
ã«ãã</button>
</form>
#box {
border: 5px solid green;
width: 100px;
height: 100px;
}
function setBorderWidth(width) {
document.getElementById("box").style.borderWidth = `${width}px`;
}
document.getElementById("btn1").addEventListener("click", () => {
setBorderWidth(20);
});
document.getElementById("btn2").addEventListener("click", () => {
setBorderWidth(5);
});
ä¾ 3: ã¹ã¿ã¤ã«ã®æä½
ãã®ç°¡åãªä¾ã§ã¯ãHTML ã®æ®µè½è¦ç´ ã®ããã¤ãã®åºæ¬çãªã¹ã¿ã¤ã«ããããã£ã«ãè¦ç´ ä¸ã®ã¹ã¿ã¤ã«ãªãã¸ã§ã¯ãã¨ãDOM ããåå¾ãããè¨å®ãããã§ãããã®ãªãã¸ã§ã¯ãã® CSS ã¹ã¿ã¤ã«ããããã£ã使ã£ã¦ã¢ã¯ã»ã¹ãã¦ãã¾ãããã®ä¾ã§ã¯ãåã ã®ã¹ã¿ã¤ã«ãç´æ¥æä½ãã¦ãã¾ããæ¬¡ã®ä¾ (ä¾ 4 åç §) ã§ã¯ãã¹ã¿ã¤ã«ã·ã¼ãã¨ãã®ã«ã¼ã«ã使ã£ã¦ãææ¸å ¨ä½ã®ã¹ã¿ã¤ã«ã夿´ãããã¨ãã§ãã¾ãã
<p id="pid">ããã¹ã</p>
<form>
<p><button type="button">ããã¹ãã夿´</button></p>
</form>
function changeText() {
const p = document.getElementById("pid");
p.style.color = "blue";
p.style.fontSize = "18pt";
}
document.querySelector("button").addEventListener("click", () => {
changeText();
});
ä¾ 4: ã¹ã¿ã¤ã«ã·ã¼ãã®ä½¿ç¨
document
ãªãã¸ã§ã¯ãä¸ã® styleSheets
ããããã£ã¯ããã®ææ¸ã«èªã¿è¾¼ã¾ããã¹ã¿ã¤ã«ã·ã¼ãã®ä¸è¦§ãè¿ãã¾ãããã®ãã¼ã¸ã®ä¾ã«ç¤ºããã¦ããããã«ãstylesheetãstyleãCSSRule
ãªãã¸ã§ã¯ããå©ç¨ãã¦ããããã®ã¹ã¿ã¤ã«ã·ã¼ãã¨ãã®è¦åã«åå¥ã«ã¢ã¯ã»ã¹ãå¯è½ã§ããããã¦ãã®ä¾ã§ã¯ããã¹ã¦ã®ã¹ã¿ã¤ã«è¦åã®ã»ã¬ã¯ã¿ã¼ãã³ã³ã½ã¼ã«ã¸è¡¨ç¤ºããã¾ãã
for (const styleSheet of document.styleSheets) {
for (const rule of styleSheet.cssRules) {
console.log(`${rule.selectorText}\n`);
}
}
次㮠3 ã¤ã®ã«ã¼ã«ãå®ç¾©ããã¦ããåä¸ã®ã¹ã¿ã¤ã«ã·ã¼ããæã¤ææ¸ã®å ´åã§ãã
body {
background-color: darkblue;
}
p {
font-family: Arial;
font-size: 10pt;
margin-left: 0.125in;
}
#lumpy {
display: none;
}
ãã®ã¹ã¯ãªããã¯ä»¥ä¸ã®é ç®ã表示ãã¾ãã
BODY P #LUMPYä¾ 5: ã¤ãã³ã伿 (propagation)
ãã®ä¾ã¯ DOM ã§ã¤ãã³ããçºçããã¨ãã®å¯¾å¦æ¹æ³ããããåç´åãã¦ç´¹ä»ãã¾ããä¸è¨ã® HTML ææ¸ã® BODY ãèªã¿è¾¼ã¾ããæãã¤ãã³ããªã¹ãã¼ã TABLE ã®ç¬¬ 1 è¡ã使ã£ã¦ç»é²ããã¾ããã¤ãã³ããªã¹ãã¼ã¯é¢æ° stopEvent ãå®è¡ãããã¨ã§ã¤ãã³ããå¦çãã¾ãããã®é¢æ°ã¯ãtable ã®ä¸çªä¸ã®ã»ã«ã®å¤ã夿´ãã¾ãã
ããããstopEvent ã¯ã¾ãã¤ãã³ããªãã¸ã§ã¯ãã®ã¡ã½ãã event.stopPropagation
ãå¼ã³åºãã¾ãããã®ã¡ã½ããã¯ã¤ãã³ããçºçãã¦ããä»¥ä¸ DOM ã«å
¥ãè¾¼ãã®ã鲿¢ãã¾ãããã¼ãã«èªä½ã¯ãã¯ãªãã¯ãããæãã¡ãã»ã¼ã¸ã表示ããå¿
è¦ã®ãã onclick
ã¤ãã³ããã³ãã©ã¼ãåãã¦ãã¾ããããã stopEvent ã¡ã½ããã¯ä¼æã忢ãã¦ãã¾ãã®ã§ããã¼ãã«å
ã®ãã¼ã¿ãæ´æ°ãããå¾ã§ã¯ãã¤ãã³ãã¯å¹ççã«çµäºããããã確èªããããã®è¦åãã¤ã¢ãã°ã表示ããã¾ãã
<table id="t-daddy">
<tr id="tbl1">
<td id="c1">one</td>
</tr>
<tr>
<td id="c2">two</td>
</tr>
</table>
#t-daddy {
border: 1px solid red;
}
#c1 {
background-color: pink;
}
function stopEvent(event) {
const c2 = document.getElementById("c2");
c2.textContent = "hello";
// this ought to keep t-daddy from getting the click.
event.stopPropagation();
console.log("event propagation halted.");
}
const elem = document.getElementById("tbl1");
elem.addEventListener("click", stopEvent, false);
document.getElementById("t-daddy").addEventListener("click", () => {
console.log("t-daddy clicked");
});
ä¾ 6: getComputedStyle
ãã®ä¾ã¯ãwindow.getComputedStyle
ã¡ã½ããã使ç¨ãã¦è¦ç´ ã® style
屿§ããã㯠JavaScript (ä¾: elt.style.backgroundColor="rgb(173 216 230)"
) ã§è¨å®ããã¦ããªãã¹ã¿ã¤ã«ãåå¾ããæ¹æ³ã示ãã¾ããå¾è
ã®ç¨®é¡ã®ã¹ã¿ã¤ã«ã¯ããã£ã¨ç´æ¥ç㪠elt.style
ããããã£ã使ã£ã¦åå¾ã§ãããã®ããããã£ã¯ DOM CSS ããããã£ä¸è¦§ã«æãããã¦ãã¾ãã
getComputedStyle()
㯠CSSStyleDeclaration
ãªãã¸ã§ã¯ããè¿ããä¸è¨ã®ãµã³ãã«ã«ããããã«ããã®ãªãã¸ã§ã¯ãã® getPropertyValue()
ã¡ã½ããã«ãã£ã¦åã
ã®ã¹ã¿ã¤ã«ããããã£ãåç
§ã§ãã¾ãã
<div id="d1"> </div>
<form action="">
<p>
<button type="button">getComputedStyle</button>
height<input id="t1" type="text" value="1" /> max-width<input
id="t2"
type="text"
value="2" />
bg-color<input id="t3" type="text" value="3" />
</p>
</form>
#d1 {
margin-left: 10px;
background-color: rgb(173 216 230);
height: 20px;
max-width: 20px;
}
function cStyles() {
const refDiv = document.getElementById("d1");
const txtHeight = document.getElementById("t1");
const hStyle = document.defaultView
.getComputedStyle(refDiv, null)
.getPropertyValue("height");
txtHeight.value = hStyle;
const txtWidth = document.getElementById("t2");
const wStyle = document.defaultView
.getComputedStyle(refDiv, null)
.getPropertyValue("width");
txtWidth.value = wStyle;
const txtBackgroundColor = document.getElementById("t3");
const bStyle = document.defaultView
.getComputedStyle(refDiv, null)
.getPropertyValue("background-color");
txtBackgroundColor.value = bStyle;
}
document.querySelector("button").addEventListener("click", cStyles);
ä¾ 7: ã¤ãã³ããªãã¸ã§ã¯ãã®ããããã£ã®è¡¨ç¤º
ãã®ä¾ã§ã¯ãDOM ã¡ã½ããã使ã£ã¦ã onload
ã¤ãã³ããªãã¸ã§ã¯ãã®ããããã£ã¨ãããã®å¤ããã¹ã¦è¡¨ã¨ãã¦è¡¨ç¤ºãã¦ãã¾ããã¾ãããªãã¸ã§ã¯ãã®ããããã£ãå復ãããããã®å¤ãåå¾ããããã«ãfor...in
ã«ã¼ãã使ã£ãå½¹ã«ç«ã¤ãã¯ããã¯ããè¦ããã¾ãã
ã¤ãã³ããªãã¸ã§ã¯ãã®ããããã£ã¯ãã©ã¦ã¶ã¼ã«ãã£ã¦å¤§ããç°ãªãã¾ãã WHATWG DOM Standard ã«æ¨æºã®ããããã£ãè¼ã£ã¦ãã¾ãããå¤ãã®ãã©ã¦ã¶ã¼ã¯ããããå¤§å¹ ã«æ¡å¼µãã¦ãã¾ãã
以ä¸ã®ã³ã¼ããããã¹ããã¡ã¤ã«ã¨ãã¦ä¿åããæ§ã ãªãã©ã¦ã¶ã¼ã§èªã¿è¾¼ã¾ãã¦ã¿ã¦ãã ãããããããã£ã®æ°ãåç§°ãç°ãªããã¨ã«é©ããããã¨ã§ãããããã¼ã¸ã«ããã¤ãè¦ç´ ã追å ãã¦ãç°ãªãã¤ãã³ããã³ãã©ã¼ãããã®é¢æ°ãå¼ã³åºãã¦ã¿ãã®ãè¯ãã§ãããã
<h1>DOM <span id="eventType"></span> ã¤ãã³ããªãã¸ã§ã¯ãã®ããããã£</h1>
table {
border-collapse: collapse;
}
thead {
font-weight: bold;
}
td {
padding: 2px 10px 2px 10px;
}
.odd {
background-color: #efdfef;
}
.even {
background-color: #ffffff;
}
function showEventProperties(e) {
function addCell(row, text) {
const cell = row.insertCell(-1);
cell.appendChild(document.createTextNode(text));
}
const event = e || window.event;
document.getElementById("eventType").textContent = event.type;
const table = document.createElement("table");
const thead = table.createTHead();
let row = thead.insertRow(-1);
const labelList = ["#", "Property", "Value"];
const len = labelList.length;
for (let i = 0; i < len; i++) {
addCell(row, labelList[i]);
}
const tbody = document.createElement("tbody");
table.appendChild(tbody);
for (const p in event) {
row = tbody.insertRow(-1);
row.className = row.rowIndex % 2 ? "odd" : "even";
addCell(row, row.rowIndex);
addCell(row, p);
addCell(row, event[p]);
}
document.body.appendChild(table);
}
window.onload = (event) => {
showEventProperties(event);
};
ä¾ 8: DOM ã®ãã¼ãã«ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ä½¿ç¨
DOM ã® HTMLTableElement
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ããã¼ãã«ãçæãæä½ããããã®ä¾¿å©ãªã¡ã½ãããããã¤ãæä¾ããã¦ãã¾ããããå©ç¨ããã 2 ã¤ã®ã¡ã½ãã㯠HTMLTableElement.insertRow
㨠HTMLTableRowElement.insertCell
ã§ãã
以ä¸ã®ä¾ã§ã¯ãæ¢åã®ãã¼ãã«ã«è¡ã¨ããã¤ãã®ã»ã«ã追å ãã¦ãã¾ãã
<table id="table0">
<tr>
<td>Row 0 Cell 0</td>
<td>Row 0 Cell 1</td>
</tr>
</table>
const table = document.getElementById("table0");
const row = table.insertRow(-1);
let cell;
let text;
for (let i = 0; i < 2; i++) {
cell = row.insertCell(-1);
text = `Row ${row.rowIndex} Cell ${i}`;
cell.appendChild(document.createTextNode(text));
}
ã¡ã¢
innerHTML
ããããã£ã¯ããã¼ãã«å
¨ä½ãããã¯ã»ã«ã®å
容ãè¨è¿°ããããã«ä½¿ããã¨ã¯ã§ãã¾ããããã¼ãã«ãæä½ããããã«ä½¿ãã¹ãã§ã¯ããã¾ãããdocument.createElement
㨠Node.appendChild
ã使ã£ã¦è¡ã¨ã»ã«ãçæããå ´åãä»ã®ãã©ã¦ã¶ã¼ã§ã¯ table è¦ç´ ã«ç´æ¥è¿½å ã§ãã (è¡ã¯æå¾ã® <tbody>
è¦ç´ ã«è¿½å ããã) ã®ã«å¯¾ãã¦ãIE ã§ã¯ãããã <tbody>
è¦ç´ ã«å¯¾ãã¦è¿½å ããå¿
è¦ãããã¾ããHTMLTableElement
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«ã¯ããã®ä»ã«ãããã¼ãã«ãçæãããæä½ããã®ã«å©ç¨ã§ããå¤ãã®ä¾¿å©ãªã¡ã½ãããããã¾ããRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4