spec/Overview.html 1.1225 2040 Define insertAdjacentHTML(). (whatwg r20

Define insertAdjacentHTML(). (whatwg r2040)

insertAdjacentHTML(position, text)
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1225.html#insertadjacenthtml0
outerHTML
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1225.html#outerhtml0
HTMLElement
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1225.html#htmlelement

http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.1224&r2=1.1225&f=h
http://html5.org/tools/web-apps-tracker?from=2039&to=2040

===================================================================
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:22:36 UTC