和insertAdjacentHtml等方法类似,只是一个插对象,一个插具体内容,其实都一样啦。
介绍:
语法:
oElement = object . insertAdjacentElement ( sWhere , oElement )
参数:
oElement : 必选项。对象(Element)。要插入到 object 邻近的对象。
sWhere : 必选项。字符串(String)。beforeBegin | afterBegin | beforeEnd | afterEnd beforeBegin : 将 oElement 插到 object 的开始标签之前。
afterBegin : 将 oElement 插到 object 的开始标签之后。但是在 object 的所有原有内容之前。
beforeEnd : 将 oElement 插到 object 的结束标签之前。但是在 object 的所有原有内容之后。
afterEnd : 将 oElement 插到 object 的结束标签之后。
返回值:
oElement : 对象(Element)。返回插入的对象的引用。
说明:
将 oElement 依据 object 定位插入文档结构。
当文档正在载入时,不可以尝试此方法。必须在 onload 事件触发以后。
假如你尝试插入一个已经在文档结构中存在定位的对象,该对象将被移动到你指定的插入位置,而不会有新对象被创建。 【这个功能好啊。不会创建出同名元素等】
测试代码:

<script>
var i_nowheight = 250;
function rdl_doApply(e) {
with (document.all("oSelect1")) var sParam1 = options[selectedIndex].value;
with (document.all("oSelect2")) var sParam2 = options[selectedIndex].value;
var oNewNode = document.createElement(sParam1);
oList.insertAdjacentElement(sParam2, oNewNode);
oNewNode.innerText = sParam2
i_nowheight += 30;
window.resizeTo(360, i_nowheight);
}
</script>
<div id=oCode>
<ul id=oList>
<li>列表项目1
<li>列表项目2
</ul>
</div>
<table height=56>
<tr>
<td><select style="width:100px;" id=oSelect1>
<option value="button" selected>button</option>
<option value="b">b</option>
</select></td>
<td><select style="width:100px;" id=oSelect2>
<option value="beforeBegin" selected>beforeBegin</option>
<option value="afterBegin">afterBegin</option>
<option value="beforeEnd">beforeEnd</option>
<option value="afterEnd">afterEnd</option>
</select></td>
<td><input type=button value=" 插入 " onclick="rdl_doApply()"></td>
</tr>
</table>