diff options
Diffstat (limited to 'files/pt-pt/web/api/node/index.html')
-rw-r--r-- | files/pt-pt/web/api/node/index.html | 407 |
1 files changed, 407 insertions, 0 deletions
diff --git a/files/pt-pt/web/api/node/index.html b/files/pt-pt/web/api/node/index.html new file mode 100644 index 0000000000..d1ea8d3557 --- /dev/null +++ b/files/pt-pt/web/api/node/index.html @@ -0,0 +1,407 @@ +--- +title: Node +slug: Web/API/Node +tags: + - API + - DOM + - Element + - Interface + - Node + - WebAPI +translation_of: Web/API/Node +--- +<div> + {{Apiref}}</div> +<p><code><strong>Node </strong></code>é uma interface da qual uma varidade de tipos do DOM herdam e permite que estes vários tipos seja tratados (ou testados) de forma similar.</p> +<p>As seguintes interfaces todas herdam de <code>Node</code> os seus métodos e propriedades:{{domxref("Document")}}, {{domxref("Element")}}, {{domxref("CharacterData")}} (que {{domxref("Text")}}, {{domxref("Comment")}}, e {{domxref("CDATASection")}} herdam), {{domxref("ProcessingInstruction")}}, {{domxref("DocumentFragment")}}, {{domxref("DocumentType")}}, {{domxref("Notation")}}, {{domxref("Entity")}}, {{domxref("EntityReference")}}</p> +<p>Estas interfaces podem retornar <code>null</code> em casos particulares, em que estes métodos e propriedades não são relevantes. Podem lançar uma excepção - por exempo, ao adicionar nós-filho a um tipo de nó para o qual não está prevista a existência de nós descendentes.</p> +<p> </p> +<h2 id="Propriedades">Propriedades</h2> +<p><em>Herda propriedades do seu pai {{domxref("EventTarget")}}</em>.<sup>[1]</sup></p> +<dl> + <dt> + {{domxref("Node.attributes")}} {{deprecated_inline}}</dt> + <dd> + ...</dd> + <dt> + {{domxref("Node.baseURI")}} {{readonlyInline}}</dt> + <dd> + Retorna uma {{domxref("DOMString")}} que represente o URL base. O conceito de URL base varia de língua para língua; em HTML corresponde: ao protocolo, nome do domínio e estrutura de directórios, ou seja, tudo até à última '<code>/</code>'.</dd> + <dt> + {{domxref("Node.baseURIObject")}} {{Non-standard_inline()}} {{ Fx_minversion_inline("3") }}</dt> + <dd> + (Não disponível para conteúdo Web). O objecto {{ Interface("nsIURI") }} apenas de leitura representa o URI base para o elemento.</dd> + <dt> + {{domxref("Node.childNodes")}} {{readonlyInline}}</dt> + <dd> + Retorna uma {{domxref("NodeList")}} activa quem contém todos os descendentes desse nó. Sendo {{domxref("NodeList")}} uma lista activa, significa que os descendentes do <code>Node</code> mudam, o objecto {{domxref("NodeList")}} é automaticamente actualizado.</dd> + <dt> + {{domxref("Node.firstChild")}} {{readonlyInline}}</dt> + <dd> + Retorna um {{domxref("Node")}} que representa o primeiro descendente directo do nó ou <code>null</code> se o nó não tiver descendentes.</dd> + <dt> + {{domxref("Node.lastChild")}} {{readonlyInline}}</dt> + <dd> + Retorna um {{domxref("Node")}} que representa o último descendente directo do <code>Node, </code>ou <code>null</code> caso o <code>node</code> não tenha descendentes.</dd> + <dt> + {{domxref("Node.localName")}} {{readonlyInline}}{{obsolete_inline}}</dt> + <dd> + Retorna uma {{domxref("DOMString")}} que representa a parte local do nome qualificado do elemento. No Firefox 3.5 e anteriores, a propriedade exibe o nome local do elemento HTML em maiúsculas (mas não o faz para elementos XHTML). Em versões posteriores, isto não se verifica, portanto a propriedade é exibida em letras minúsculas para ambos HTML e XHTML. {{ gecko_minversion_inline("1.9.2") }}. Apesar da especificação requerer que <code>localName</code> seja definido no interface {{domxref("Node")}}, browsers Gecko-based implementam-no no interface {{domxref("Element")}}.</dd> + <dt> + {{domxref("Node.namespaceURI")}} {{readonlyInline}}{{obsolete_inline}}</dt> + <dd> + O URI do namspace do <code>node</code> em causa, ou <code>null, </code>se não possuir<code> namespace</code>. No Firefox 3.5 e anteriores, elementos HTML não se encontravam em qualquer namespace. Em versões posteriores, elementos HTML estão no namespace <code><a class="linkification-ext external" href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></code> quer na tree de HTML, quer na de XHTML {{ gecko_minversion_inline("1.9.2") }}</dd> + <dd> + Apesar da especificação requerer <code>namespaceURI</code> definido no interface {{domxref("Node")}}, browsers Gecko-based implementam-no no interface {{domxref("Element")}}.</dd> + <dt> + {{domxref("Node.nextSibling")}} {{readonlyInline}}</dt> + <dd> + Retorna um {{domxref("Node")}} que representa o próximo <code>node</code> na tree, ou <code>null</code> caso esse <code>node</code> não exista.</dd> + <dt> + {{domxref("Node.nodeName")}} {{readonlyInline}}</dt> + <dd> + Retorna uma {{domxref("DOMString")}} que contém o nome do <code>Node</code>. A estrutura do nome difere do tipo do nome. Exemplo: um {{domxref("HTMLElement")}} irá conter o nome da tag correspondente, como <code>'audio'</code> para um {{domxref("HTMLAudioElement")}}, um {{domxref("Text")}} node irá ter a string <code>'#text'</code>, ou então um {{domxref("Document")}} node irá ter uma string <code>'#document'</code>.</dd> + <dt> + {{domxref("Node.nodePrincipal")}} {{Non-standard_inline()}}{{ Fx_minversion_inline("3") }}</dt> + <dd> + Um {{ Interface("nsIPrincipal") }} representa um node principal.</dd> + <dt> + {{domxref("Node.nodeType")}}{{readonlyInline}}</dt> + <dd> + Retorna um <code>unsigned short</code> que representa o tipo de node. Os valores possíveis são:<br> + <table class="standard-table"> + <tbody> + <tr> + <th scope="col">Nome</th> + <th scope="col">Valor</th> + </tr> + <tr> + <td><code>ELEMENT_NODE</code></td> + <td><code>1</code></td> + </tr> + <tr> + <td><code>ATTRIBUTE_NODE</code> {{deprecated_inline()}}</td> + <td><code>2</code></td> + </tr> + <tr> + <td><code>TEXT_NODE</code></td> + <td><code>3</code></td> + </tr> + <tr> + <td><code>CDATA_SECTION_NODE</code> {{deprecated_inline()}}</td> + <td><code>4</code></td> + </tr> + <tr> + <td><code>ENTITY_REFERENCE_NODE</code> {{deprecated_inline()}}</td> + <td><code>5</code></td> + </tr> + <tr> + <td><code>ENTITY_NODE</code> {{deprecated_inline()}}</td> + <td><code>6</code></td> + </tr> + <tr> + <td><code>PROCESSING_INSTRUCTION_NODE</code></td> + <td><code>7</code></td> + </tr> + <tr> + <td><code>COMMENT_NODE</code></td> + <td><code>8</code></td> + </tr> + <tr> + <td><code>DOCUMENT_NODE</code></td> + <td><code>9</code></td> + </tr> + <tr> + <td><code>DOCUMENT_TYPE_NODE</code></td> + <td><code>10</code></td> + </tr> + <tr> + <td><code>DOCUMENT_FRAGMENT_NODE</code></td> + <td><code>11</code></td> + </tr> + <tr> + <td><code>NOTATION_NODE</code> {{deprecated_inline()}}</td> + <td><code>12</code></td> + </tr> + </tbody> + </table> + </dd> + <dt> + {{domxref("Node.nodeValue")}}</dt> + <dd> + É a {{domxref("DOMString")}} que representa o valor de um objecto. Para a maioria dos tipos de <code>Node</code>, isto retorna <code>null</code> e qualquer operação é ignorada. Para nodes do tipo <code>TEXT_NODE</code> (objectos {{domxref("Text")}}), <code>COMMENT_NODE</code> ({{domxref("Comment")}} objects), e <code>PROCESSING_INSTRUCTION_NODE</code> ({{domxref("ProcessingInstruction")}} objects), o valor corresponde ao valor textual contido no objecto.</dd> + <dt> + {{domxref("Node.ownerDocument")}} {{readonlyInline}}</dt> + <dd> + Retorna o {{domxref("Document")}} a que este node pertence. Se nenhum documento está associado com este, retorna <code>null</code>.</dd> + <dt> + {{domxref("Node.parentNode")}} {{readonlyInline}}</dt> + <dd> + Retorna um {{domxref("Node")}} que é o ascendente deste node. Se não existir tal node, como por exemplo se este node se encontra no nível raiz da tree ou se não consta nesta, esta propriedade retorna <code>null</code>.</dd> + <dt> + {{domxref("Node.parentElement")}} {{readonlyInline}}</dt> + <dd> + Retorna um {{domxref("Element")}} que é o ascendente deste node. Caso este node não tenha ascendente ou se o seu ascendente não é um {{domxref("Element")}}, esta propriedade retorna <code>null</code>.</dd> + <dt> + {{domxref("Node.prefix")}} {{obsolete_inline}}</dt> + <dd> + É uma {{domxref("DOMString")}} que representa o prefixo do namespace do node, ou <code>null</code> caso nenhum prefixo seja especificado.</dd> + <dd> + Apesar da especificação requerer <code>localName</code> para ser definida no interface {{domxref("Node")}}, browsers Gecko-based implementam-no no interface {{domxref("Element")}}.</dd> + <dt> + {{domxref("Node.previousSibling")}} {{readonlyInline}}</dt> + <dd> + Retorna um {{domxref("Node")}} que representa o node anterior na tree ou <code>null</code> caso o node não exista.</dd> + <dt> + {{domxref("Node.textContent")}}</dt> + <dd> + É uma {{domxref("DOMString")}} que representa o valor textual de um elemento e todos os seus descendentes.</dd> +</dl> +<h2 id="Métodos">Métodos</h2> +<p><em>Herda métodos dos seus pais {{domxref("EventTarget")}}</em>.<sup>[1]</sup></p> +<dl> + <dt> + {{domxref("Node.appendChild()")}}</dt> + <dd> + Insere um {{domxref("Node")}} como último descendente do elemento em causa.</dd> + <dt> + {{domxref("Node.cloneNode()")}}</dt> + <dd> + Clona um {{domxref("Node")}} e, opcionalmente, todo o seu conteúdo. Por omissão, clona o conteúdo do node.</dd> + <dt> + {{domxref("Node.compareDocumentPosition()")}}</dt> + <dd> + </dd> + <dt> + {{domxref("Node.contains()")}}</dt> + <dd> + </dd> + <dt> + {{domxref("Node.getFeature()")}} {{obsolete_inline}}</dt> + <dd> + ...</dd> + <dt> + {{domxref("Node.getUserData()")}} {{deprecated_inline}}</dt> + <dd> + Permite ao utilizador extrair alguma {{domxref("DOMUserData")}} do node.</dd> + <dt> + {{domxref("Node.hasAttributes()")}} {{obsolete_inline}}</dt> + <dd> + Retorna um {{domxref("Boolean")}} que indica se o elemento tem atributos ou não.</dd> + <dt> + {{domxref("Node.hasChildNodes()")}}</dt> + <dd> + Retorna um {{domxref("Boolean")}} que indica se o elemento tem descendentes ou não.</dd> + <dt> + {{domxref("Node.insertBefore")}}</dt> + <dd> + Insere o primeiro {{domxref("Node")}} dado num parâmetro imediatamente antes do segundo descendente deste {{domxref("Node")}}.</dd> + <dt> + {{domxref("Node.isDefaultNamespace")}}</dt> + <dd> + </dd> + <dt> + {{domxref("Node.isEqualNode")}}</dt> + <dd> + </dd> + <dt> + {{domxref("Node.isSameNode")}} {{obsolete_inline}}</dt> + <dd> + </dd> + <dt> + {{domxref("Node.isSupported")}} {{deprecated_inline}}</dt> + <dd> + Retorna uma flag <a href="https://developer.mozilla.org/en-US/docs/Web/API/Boolean" title="The Boolean object is an object wrapper for a boolean value."><code>Boolean</code></a> que contém o resultado de um teste à implementação do DOM para aferir o suporte deste ou do node a uma determinada propriedade.</dd> + <dt> + {{domxref("Node.lookupPrefix")}}</dt> + <dd> + </dd> + <dt> + {{domxref("Node.lookupNamespaceURI")}}</dt> + <dd> + </dd> + <dt> + {{domxref("Node.normalize")}}</dt> + <dd> + Limpa todos os nodes textuais abaixo deste (converge os adjacentes e remove os vazios)</dd> + <dt> + {{domxref("Node.removeChild")}}</dt> + <dd> + Remove um node descendenter do elemento actual. Este deve ser um descendente do node actual.</dd> + <dt> + {{domxref("Node.replaceChild")}}</dt> + <dd> + Substitui um {{domxref("Node")}} descendente do actual com o fornecido no segundo parâmetro.</dd> + <dt> + {{domxref("Node.setUserData")}} {{deprecated_inline}}</dt> + <dd> + Permite a um utilizador anexar, ou remover {{domxref("DOMUserData")}} do node.</dd> + <dd> + </dd> +</dl> +<h2 id="Exemplos">Exemplos</h2> +<h3 id="Percorrer_todos_os_nodes_descendentes">Percorrer todos os nodes descendentes</h3> +<p>A seguinte função itera sobre os nodes descendentes de um node recursivamente e executa uma função de callback sobre os mesmos (e sobre o próprio node-pai).</p> +<pre class="brush: js">function DOMComb (oParent, oCallback) { + if (oParent.hasChildNodes()) { + for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) { + DOMComb(oNode, oCallback); + } + } + oCallback.call(oParent); +}</pre> +<h4 id="Síntaxe">Síntaxe</h4> +<pre>DOMComb(parentNode, callbackFunction);</pre> +<h4 id="Descrição">Descrição</h4> +<p>Recursivamente iterar sobre os nodes descendentes de um <code>parentNode </code>e o próprio <code>parentNode</code>, executando uma <code>callbackFunction</code> sobre estes como objectos <a href="/en-US/docs/JavaScript/Reference/Operators/this" title="en-US/docs/JavaScript/Reference/Operators/this"><code>this</code></a>.</p> +<h4 id="Parâmetros">Parâmetros</h4> +<dl> + <dt> + <code>parentNode</code></dt> + <dd> + O node ascendente (<code><strong>Node</strong> <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Object" title="en-US/docs/JavaScript/Reference/Global_Objects/Object">Object</a></code>).</dd> + <dt> + <code>callbackFunction</code></dt> + <dd> + A função de callback (<a href="/en-US/docs/JavaScript/Reference/Global_Objects/Function" title="en-US/docs/JavaScript/Reference/Global_Objects/Function"><code>Function</code></a>).</dd> +</dl> +<h4 id="Exemplo_de_utilização">Exemplo de utilização</h4> +<p>O exemplo seguinte envia para a <code>console.log </code>o conteúdo textual do body:</p> +<pre class="brush: js">function printContent () { + if (this.nodeValue) { console.log(this.nodeValue); } +} + +onload = function () { + DOMComb(document.body, printContent); +};</pre> +<h2 id="Especificações">Especificações</h2> +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Especificação</th> + <th scope="col">Estado</th> + <th scope="col">Comentários</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td>Removidas as seguintes propriedades: <code>attributes</code>, <code>namespaceURI</code>, <code>prefix</code>, e <code>localName</code>.<br> + Removidos os seguintes métodos: <code>isSupported()</code>, <code>hasAttributes()</code>, <code>isSameNode()</code>, <code>getFeature()</code>, <code>setUserData()</code>, e <code>getUserData()</code>.</td> + </tr> + <tr> + <td>{{SpecName('DOM3 Core', 'core.html#ID-1950641247', 'Node')}}</td> + <td>{{Spec2('DOM3 Core')}}</td> + <td>Os métodos <code>insertBefore()</code>, <code>replaceChild()</code>, <code>removeChild()</code>, e <code>appendChild()</code> retornam mais um tipo de erro (<code>NOT_SUPPORTED_ERR</code>) caso sejam chamados no {{domxref("Document")}}.<br> + O método <code>normalize()</code> foi modificado para que o node {{domxref("Text")}} possa também ser normalizado se a flag correcta de {{domxref("DOMConfiguration")}} estiver definida.<br> + Adicionados os seguintes métodos: <code>compareDocumentPosition()</code>, <code>isSameNode()</code>, <code>lookupPrefix()</code>, <code>isDefaultNamespace()</code>, <code>lookupNamespaceURI()</code>, <code>isEqualNode()</code>, <code>getFeature()</code>, <code>setUserData()</code>, e <code>getUserData().</code><br> + Adicionadas as seguintes propriedades: <code>baseURI</code> e <code>textContent</code>.</td> + </tr> + <tr> + <td>{{SpecName('DOM2 Core', 'core.html#ID-1950641247', 'Node')}}</td> + <td>{{Spec2('DOM2 Core')}}</td> + <td>A propriedade <code>ownerDocument</code> foi ligeiramente alterada para que um {{domxref("DocumentFragment")}} possa também retornar <code>null</code>.<br> + Adicionadas as seguintes propriedades: <code>namespaceURI</code>, <code>prefix</code>, e <code>localName</code>.<br> + Adicionados os seguintes métodos: <code>normalize()</code>, <code>isSupported()</code> and <code>hasAttributes()</code>.</td> + </tr> + <tr> + <td>{{SpecName('DOM1', 'level-one-core.html#ID-1950641247', 'Node')}}</td> + <td>{{Spec2('DOM1')}}</td> + <td>Definição inicial.</td> + </tr> + </tbody> +</table> +<p> </p> +<h2 id="Compatibilidade_por_browser">Compatibilidade por browser</h2> +<p>{{CompatibilityTable}}</p> +<div id="compat-desktop"> + <table class="compat-table"> + <tbody> + <tr> + <th>Característica</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatGeckoDesktop("1.0")}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>getFeature()</code>{{obsolete_inline}}</td> + <td>{{CompatNo}}</td> + <td>Suportada desde: {{CompatGeckoDesktop("1.0")}} até {{CompatGeckoDesktop("6.0")}}.<br> + Removida em: {{CompatGeckoDesktop("7.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>getUserData()</code>, <code>setUserData()</code> e <code>hasAttributes()</code> {{deprecated_inline}}</td> + <td>{{CompatNo}}</td> + <td>Suportada desde: {{CompatGeckoDesktop("1.0")}} até {{CompatGeckoDesktop("21.0")}}.<br> + Removida em: {{CompatGeckoDesktop("22.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>isSameNode()</code> {{obsolete_inline}}</td> + <td>{{CompatNo}}</td> + <td>Suportada desde: {{CompatGeckoDesktop("1.0")}} até {{CompatGeckoDesktop("9.0")}}.<br> + Removida em: {{CompatGeckoDesktop("10.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>isSupported()</code> {{obsolete_inline}}</td> + <td>{{CompatUnknown}}</td> + <td>Suportada desde: {{CompatGeckoDesktop("1.0")}} até {{CompatGeckoDesktop("21.0")}}.<br> + Removida em: {{CompatGeckoDesktop("22.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> + </table> +</div> +<div id="compat-mobile"> + <table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatGeckoMobile("1.0")}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>getFeature()</code>{{obsolete_inline}}</td> + <td>{{CompatNo}}</td> + <td>Suportade desde: {{CompatGeckoDesktop("1.0")}} até {{CompatGeckoDesktop("6.0")}}.<br> + Removida em: {{CompatGeckoDesktop("7.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> + </table> +</div> +<p>[1] Webkit e Blink incorrectamente não fazem com que <code>Node</code> herde de {{domxref("EventTarget")}}.</p> |