可以使用DOM屬性和方法從任何固定點到達該元素(例如,從您的div
是確實有id
)。根據你的情況,它的死很容易:
document.getElementById('id_name').firstChild.firstChild.value = /* ... */;
... 假設你已經格式化該HTML爲我們和它真的是這樣的:
<div id="id_name"><div class="class_name"><textarea></textarea></div></div>
如果假設不有效,那麼你必須做更多的工作,因爲firstChild
很可能是Text
node(包含空格)而不是Element
。如果是這樣,它仍然容易與助手功能相當:
function firstElement(node) {
while (node && node.nodeType !== 1) { // 1 = Element
node = node.nextSibling;
}
return node;
}
var n = document.getElementById("id_name");
n = firstElement(n);
n = firstElement(n);
n.value = /* ... */;
這就是爲什麼這麼多的JavaScript DOM操作庫如雨後春筍般涌現:因爲當DOM直接使用常見的用例常常很尷尬。
參考文獻: