和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>