- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 11 Aug 2008 05:05:23 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec In directory hutz:/tmp/cvs-serv19311 Modified Files: Overview.html Log Message: Define insertAdjacentHTML(). (whatwg r2040) Index: Overview.html =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.1224 retrieving revision 1.1225 diff -u -d -r1.1224 -r1.1225 --- Overview.html 11 Aug 2008 00:25:48 -0000 1.1224 +++ Overview.html 11 Aug 2008 05:05:20 -0000 1.1225 @@ -7642,7 +7642,7 @@ // <a href="#dynamic3">dynamic markup insertion</a> attribute DOMString <a href="#innerhtml" title=dom-innerHTML>innerHTML</a>; attribute DOMString <a href="#outerhtml" title=dom-outerHTML>outerHTML</a>; - void <a href="#insertadjacenthtml" title=dom-insertAdjacentHTML>insertAdjacentHTML</a>(in DOMString position, in DOMString data); + void <a href="#insertadjacenthtml" title=dom-insertAdjacentHTML>insertAdjacentHTML</a>(in DOMString position, in DOMString text); // <span>metadata attributes</span> attribute DOMString <a href="#id0" title=dom-id>id</a>; @@ -9131,8 +9131,108 @@ <hr> - <p class=big-issue><dfn id=insertadjacenthtml0 - title=dom-insertAdjacentHTML-HTML><code>insertAdjacentHTML()</code></dfn></p> + <p>The <dfn id=insertadjacenthtml0 + title=dom-insertAdjacentHTML-HTML><code>insertAdjacentHTML(<var + title="">position</var>, <var title="">text</var>)</code></dfn> method, + when invoked, must run the following steps: + + <ol> + <li> + <p>Let <var title="">position</var> and <var title="">text</var> be the + method's first and second arguments, respectively.</p> + + <li> + <p>Let <var title="">target</var> be the element on which the method was + invoked.</p> + + <li> + <p>Use the first matching item from this list:</p> + + <dl> + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "beforebegin" + + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "afterend" + + <dd> + <p>If <var title="">target</var> has no parent node, then abort these + steps.</p> + + <p>If <var title="">target</var>'s parent node is a + <code>Document</code> object, then throw a + <code>NO_MODIFICATION_ALLOWED_ERR</code> exception and abort these + steps. + + <p>Otherwise, let <var title="">context</var> be the parent node of + <var title="">target</var>.</p> + + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "afterbegin" + + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "beforeend" + + <dd> + <p>Let <var title="">context</var> be the same as <var + title="">target</var>.</p> + + <dt>Otherwise + + <dd> + <p>Throw a <code>SYNTAX_ERR</code> exception.</p> + </dl> + + <li> + <p>Invoke the <a href="#html-fragment0">HTML fragment parsing + algorithm</a>, with the <var title="">context</var> element being that + selected by the previous step, and <var title="">input</var> being the + method's <var title="">text</var> argument. Let <var title="">new + children</var> be the result of this algorithm.</p> + + <li> + <p>Let <var title="">target document</var> be the <code + title="">ownerDocument</code> of <var title="">target</var>.</p> + + <li> + <p>Set the <code title="">ownerDocument</code> of all the nodes in <var + title="">new children</var> to the <var title="">target document</var>.</p> + + <li> + <p>Use the first matching item from this list:</p> + + <dl> + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "beforebegin" + + <dd> + <p>Insert all the <var title="">new children</var> nodes immediately + before <var title="">target</var>, preserving their order.</p> + + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "afterbegin" + + <dd> + <p>Insert all the <var title="">new children</var> nodes before the + first child of <var title="">target</var>, if there is one, preserving + their order. If there is no such child, append them all to <var + title="">target</var>, preserving their order.</p> + + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "beforeend" + + <dd> + <p>Append all the <var title="">new children</var> nodes to <var + title="">target</var>, preserving their order.</p> + + <dt>If <var title="">position</var> is an <a href="#ascii">ASCII + case-insensitive</a> match for the string "afterend" + + <dd> + <p>Insert all the <var title="">new children</var> nodes immediately + after <var title="">target</var>, preserving their order.</p> + </dl> + </ol> <!-- XXX must make sure we spec that innerHTML et al causes mutation events to fire, but document.write() doesn't. (the latter is already req-stated in the parser section, btw) -->
Received on Monday, 11 August 2008 05:19:27 UTC