aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/api/element/previouselementsibling/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/es/web/api/element/previouselementsibling/index.html')
-rw-r--r--files/es/web/api/element/previouselementsibling/index.html160
1 files changed, 160 insertions, 0 deletions
diff --git a/files/es/web/api/element/previouselementsibling/index.html b/files/es/web/api/element/previouselementsibling/index.html
new file mode 100644
index 0000000000..13867e8fe4
--- /dev/null
+++ b/files/es/web/api/element/previouselementsibling/index.html
@@ -0,0 +1,160 @@
+---
+title: NonDocumentTypeChildNode.previousElementSibling
+slug: Web/API/NonDocumentTypeChildNode/previousElementSibling
+translation_of: Web/API/NonDocumentTypeChildNode/previousElementSibling
+---
+<div>
+<div>{{APIRef("DOM")}}</div>
+</div>
+
+<p>La propiedad de sólo lectura <code><strong>NonDocumentTypeChildNode.previousElementSibling</strong></code> retorna el {{domxref("Element")}} predecesor inmediato al especificado dentro de la lista de hijos de su padre, o bien <code>null</code> si el elemento especificado es el primero de dicha lista.</p>
+
+<h2 id="Syntax" name="Syntax">Sintaxis</h2>
+
+<pre class="syntaxbox"><var>prevNode</var> = elementNodeReference.previousElementSibling;
+</pre>
+
+<h2 id="Example" name="Example">Ejemplo</h2>
+
+<pre class="brush: html">&lt;div id="div-01"&gt;Aquí está div-01&lt;/div&gt;
+&lt;div id="div-02"&gt;Aquí está div-02&lt;/div&gt;
+&lt;li&gt;Esto es un elemento de lista&lt;/li&gt;
+&lt;li&gt;Esto es otro elemento de lista&lt;/li&gt;
+&lt;div id="div-03"&gt;Aquí esta div-03&lt;/div&gt;
+
+&lt;script&gt;
+ var el = document.getElementById('div-03').previousElementSibling;
+ document.write('&lt;p&gt;Hermanos de div-03&lt;/p&gt;&lt;ol&gt;');
+ while (el) {
+ document.write('&lt;li&gt;' + el.nodeName + '&lt;/li&gt;');
+ el = el.previousElementSibling;
+ }
+ document.write('&lt;/ol&gt;');
+&lt;/script&gt;
+</pre>
+
+<p>Este ejemplo muestra lo siguiente en la página cuando carga:</p>
+
+<pre>Hermanos de div-03
+
+ 1. LI
+ 2. LI
+ 3. DIV
+ 4. DIV
+</pre>
+
+<h2 id="Polyfill_para_Internet_Explorer_8">Polyfill para Internet Explorer 8</h2>
+
+<p>Esta propiedad no está soportada con anterioridad a IE9, así que puede utilizarse el siguiente fragmento para añadri el soporte a IE8:</p>
+
+<pre class="brush: js">// Source: https://github.com/Alhadis/Snippets/blob/master/js/polyfills/IE8-child-elements.js
+if(!("previousElementSibling" in document.documentElement)){
+ Object.defineProperty(Element.prototype, "previousElementSibling", {
+ get: function(){
+ var e = this.previousSibling;
+ while(e &amp;&amp; 1 !== e.nodeType)
+ e = e.previousSibling;
+ return e;
+ }
+ });
+}</pre>
+
+<h2 id="Specification" name="Specification">Especificaciones</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Especificación</th>
+ <th scope="col">Estado</th>
+ <th scope="col">Observaciones</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('DOM WHATWG', '#dom-nondocumenttypechildnode-previouselementsibling', 'NonDocumentTypeChildNode.previousElementSibling')}}</td>
+ <td>{{Spec2('DOM WHATWG')}}</td>
+ <td>Dividió el interfaz <code>ElementTraversal</code> en {{domxref("ChildNode")}}, {{domxref("ParentNode")}}, y {{domxref("NonDocumentTypeChildNode")}}. Este método queda ahora definida en el primero.<br>
+ Los interfaces {{domxref("Element")}} y {{domxref("CharacterData")}} implementaron la nueva interfaz.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('Element Traversal', '#attribute-previousElementSibling', 'ElementTraversal.previousElementSibling')}}</td>
+ <td>{{Spec2('Element Traversal')}}</td>
+ <td>Añadida su definición inicial al interfaz puro <code>ElementTraversal</code> y lo usa en {{domxref("Element")}}.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilidad_con_navegadores">Compatibilidad con navegadores</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Prestación</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Soporte básico (en {{domxref("Element")}})</td>
+ <td>4</td>
+ <td>{{CompatGeckoDesktop("1.9.1")}}</td>
+ <td>9</td>
+ <td>9.8</td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td>Soporte en {{domxref("CharacterData")}}</td>
+ <td>29.0</td>
+ <td>{{CompatGeckoDesktop("25")}} [1]</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Prestación</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Soporte básico (en {{domxref("Element")}})</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.9.1")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>9.8</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ <tr>
+ <td>Soporte en {{domxref("CharacterData")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("25")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<p>[1] Firefox 25 también añadía esta propiedad a {{domxref("DocumentType")}}, y fue eliminada en Firefox 28 debido a problemas de compatibildad.</p>
+
+<h2 id="Ver_también">Ver también</h2>
+
+<ul>
+ <li>El interfaz puro {{domxref("NonDocumentTypeChildNode")}}.</li>
+ <li>
+ <div class="syntaxbox">Tipos de objetos que implementan este interfaz puro: {{domxref("CharacterData")}}, y {{domxref("Element")}}.</div>
+ </li>
+</ul>