diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/attr | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/zh-cn/web/api/attr')
-rw-r--r-- | files/zh-cn/web/api/attr/index.html | 238 | ||||
-rw-r--r-- | files/zh-cn/web/api/attr/localname/index.html | 82 | ||||
-rw-r--r-- | files/zh-cn/web/api/attr/namespaceuri/index.html | 121 | ||||
-rw-r--r-- | files/zh-cn/web/api/attr/prefix/index.html | 67 |
4 files changed, 508 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/attr/index.html b/files/zh-cn/web/api/attr/index.html new file mode 100644 index 0000000000..a87717916d --- /dev/null +++ b/files/zh-cn/web/api/attr/index.html @@ -0,0 +1,238 @@ +--- +title: Attr +slug: Web/API/Attr +tags: + - 应用接口 + - 文档对象模型 + - 浏览器兼容性 +translation_of: Web/API/Attr +--- +<div>{{APIRef("DOM")}}</div> + +<p>该类型使用对象来表示一个DOM元素的属性。在大多数DOM方法中,你可能会直接通过字符串的方式获取属性值(例如{{domxref("Element.getAttribute()")}}),但是一些函数(例如{{domxref("Element.getAttributeNode()")}})或通过迭代器访问时则返回<code>Attr</code>类型。</p> + +<p>{{InheritanceDiagram}}</p> + +<div class="warning"><strong>警告:</strong>从Gecko 7.0开始{{geckoRelease("7.0")}},控制台会输出这些方法和属性将会被移除的警告信息。你应该对代码进行相应的修正。点击{{anch("Deprecated properties and methods")}}查看完整的列表。</div> + +<div class="warning">在<a href="https://www.w3.org/standards/history/dom">DOM4[REC]</a>中,为了规范化Attr的实现,它不再继承自{{domxref("Node")}}。在目前<a href="https://www.w3.org/standards/history/dom41">DOM4.1[WD]</a>中又有变动,因此不建议使用Attr对象上有关{{domxref("Node")}}的属性和方法。</div> + +<h2 id="属性">属性</h2> + +<dl> + <dt>{{domxref("Attr.name", "name")}} {{readOnlyInline}}</dt> + <dd>该属性的名称</dd> + <dt>{{domxref("Attr.namespaceURI", "namespaceURI")}} {{readOnlyInline}}</dt> + <dd> + <p>表示该属性的命名空间URI{{domxref("DOMString")}},如果该元素不在命名空间中,则返回null。</p> + </dd> + <dt>{{domxref("Attr.localName", "localName")}} {{readOnlyInline}}</dt> + <dd> + <p>表示该属性的命名空间限定的本地名称{{domxref("DOMString")}}。</p> + </dd> + <dt>{{domxref("Attr.prefix", "prefix")}} {{readOnlyInline}}</dt> + <dd>表示该属性的命名空间前缀{{domxref("DOMString")}},如果没有前缀指定则返回null。</dd> + <dt>{{domxref("Attr.ownerElement", "ownerElement")}} {{readOnlyInline}}</dt> + <dd> + <p>该属性所附属的元素节点。</p> + + <div class="note"> + <p><strong>注意:</strong> DOM Level 4移除了这个方法。由于当你从{{domxref("Element")}}中获得<code>Attr</code>对象时,你应已知相关的元素。<br> + 在某些场景下并一定能够得到相关的元素,比如通过{{domxref("Document.evaluate")}}返回的Attr对象,最新的DOM草案再次引入该属性。</p> + + <p>Gecko从Gecko 7.0 {{geckoRelease("7.0")}}开始会输出一个废弃的提示信息。 该提示信息在Gecko 49.0 {{geckoRelease("49.0")}}再次被删除。</p> + </div> + </dd> + <dt>{{domxref("Attr.specified", "specified")}} {{readOnlyInline}}</dt> + <dd>该属性将返回<code>真</code>。如果这个属性你在源代码或者在脚本中明确指定的话,它总是返回真。否则它是由文档的<acronym title="Document Type Definition">DTD</acronym>默认定义的,将总是返回<code>假</code>。</dd> + <dt>{{domxref("Attr.value", "value")}}</dt> + <dd>属性的值</dd> +</dl> + +<div class="note"> +<p><strong>注意:</strong> DOM Level 3定义<code>namespaceURI</code>, <code>localName</code>和<code>prefix</code>为{{domxref("Node")}}接口。在DOM4中被移至<code>Attr</code>。</p> + +<p>Chrome 46.0版本以上、Firefox 48.0版本以上实现了该改动。</p> +</div> + +<h2 id="废弃的属性和方法">废弃的属性和方法</h2> + +<p>这些属性已经被废弃,可以使用合适的属性替代。</p> + +<dl> + <dt><code>attributes</code></dt> + <dd> + <p>当前该属性总是返回 <code>NULL</code></p> + </dd> + <dt><code>childNodes</code> {{obsolete_inline(14)}}</dt> + <dd>当前该属性总是返回一个空的 {{domxref("NodeList")}}.</dd> + <dt><code>firstChild</code> {{obsolete_inline(14)}}</dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该属性总是返回</font>NULL</code></dd> + <dt><code>isId</code> {{readOnlyInline}}</dt> + <dd>表明该属性是否一个“ID 属性”。“ID 属性”的值在整个DOM文档中应当是唯一。在HTML DOM文档中属性“id”是一个ID属性,也是唯一一个ID属性;但是在XML文档中可以定义其他ID属性。一个属性是否是唯一的,通常由{{Glossary("DTD")}}或其他文档模式描述文件决定。</dd> + <dt><code>lastChild</code></dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该属性总是返回</font>NULL</code></dd> + <dt><code>nextSibling</code></dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该属性总是返回</font>NULL</code></dd> + <dt><code>nodeName</code></dt> + <dd>使用{{domxref("Attr.name")}}来代替</dd> + <dt><code>nodeType</code></dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该属性总是返回</font></code>2,表示<code>ATTRIBUTE_NODE</code></dd> + <dt><code>nodeValue</code></dt> + <dd>使用{{domxref("Attr.value")}}来代替</dd> + <dt><code>ownerDocument</code></dt> + <dd>这个属性本不应当在这里被使用,所以应该无须担心其演变</dd> + <dt><code>parentNode</code></dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该属性总是返回</font>NULL</code></dd> + <dt><code>previousSibling</code></dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该属性总是返回</font>NULL</code></dd> + <dt><code>schemaTypeInfo</code> {{obsolete_inline}} {{readOnlyInline}}</dt> + <dd>当前属性的类型信息。然而当加载完文档完或调用{{domxref("Document.normalizeDocument")}}后,这个被认定为绝对正确的包含在节点内的类型信息,会因为节点的移动而变得不可信。</dd> + <dt><code>specified</code></dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该属性总是返回</font>true</code></dd> + <dt><code>textContent</code></dt> + <dd>使用{{domxref("Attr.value")}}来代替</dd> +</dl> + +<p>这些方法已经被废弃:</p> + +<dl> + <dt><code>appendChild()</code>{{obsolete_inline(14)}}</dt> + <dd>通过编辑{{domxref("Attr.value")}}属性来实现相同的效果</dd> + <dt><code>cloneNode()</code></dt> + <dd>这个方法本不应当在这里被使用,所以无须担心其演变</dd> + <dt><code>createAttribute()</code></dt> + <dd>使用{{domxref("Element.setAttribute()")}}来代替</dd> + <dt><code>createAttributeNS()</code></dt> + <dd>使用{{domxref("Element.setAttributeNS()")}}来代替</dd> + <dt><code>getAttributeNode()</code></dt> + <dd>使用{{domxref("Element.getAttribute()")}}来代替</dd> + <dt><code>getAttributeNodeNS()</code></dt> + <dd>使用{{domxref("Element.getAttributeNS()")}}来代替</dd> + <dt><code>hasAttributes() </code>{{obsolete_inline("21.0")}}</dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该方法总是返回</font></code>false.</dd> + <dt><code>hasChildNodes()</code></dt> + <dd><code><font face="Open Sans, Arial, sans-serif">当前该方法总是返回</font></code>false.</dd> + <dt><code>insertBefore()</code></dt> + <dd>通过编辑{{domxref("Attr.value")}}来实现相同效果</dd> + <dt><code>isSupported()</code></dt> + <dd>这个方法本不应当被在这里使用,所以无须担心其演变</dd> + <dt><code>isEqualNode()</code></dt> + <dd>这个方法本不应当被在这里使用,所以无须担心其演变</dd> + <dt><code>normalize()</code></dt> + <dd>这个方法本不应当被在这里使用,所以无须担心其演变</dd> + <dt><code>removeAttributeNode()</code></dt> + <dd>使用{{domxref("Element.removeAttribute()")}}来代替</dd> + <dt><code>removeChild()</code>{{obsolete_inline(14)}}</dt> + <dd>通过编辑{{domxref("Attr.value")}}来实现相同效果</dd> + <dt><code>replaceChild()</code>{{obsolete_inline(14)}}</dt> + <dd>通过编辑{{domxref("Attr.value")}}来实现相同效果</dd> + <dt><code>setAttributeNode()</code></dt> + <dd>使用{{domxref("Element.setAttribute()")}}来代替</dd> + <dt><code>setAttributeNodeNS()</code></dt> + <dd>使用{{domxref("Element.setAttributeNS()")}}来代替</dd> +</dl> + +<h2 id="规格">规格</h2> + +<table> + <thead> + <tr> + <th scope="col">规格</th> + <th scope="col">状态</th> + <th scope="col">注释</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("DOM WHATWG", "#interface-attr", "Attr")}}</td> + <td>{{Spec2("DOM WHATWG")}}</td> + <td>加回 <code>ownerElement</code> 属性</td> + </tr> + <tr> + <td>{{SpecName("DOM4", "#interface-attr", "Attr")}}</td> + <td>{{Spec2("DOM4")}}</td> + <td>将 <code>namespaceURI、prefix</code> 和 <code>localName从</code> {{domxref("Node")}} 移至本API,且删除 <code>ownerElement、</code><code>schemaTypeInfo</code> 和 <code>isId</code>.</td> + </tr> + <tr> + <td>{{SpecName("DOM3 Core", "core.html#ID-637646024", "Attr")}}</td> + <td>{{Spec2("DOM3 Core")}}</td> + <td> + <p>扩展 schemaTypeInfo, isId</p> + </td> + </tr> + <tr> + <td><a href="https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-637646024">Document Object Model (DOM) Level 1 Core Specification<br> + Attr</a></td> + <td>Obsolete</td> + <td>初始定义</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Edge</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>基本支持</td> + <td>{{CompatVersionUnknown}}<sup>[1]</sup></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Android Webview</th> + <th>Edge</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + <th>Chrome for Android</th> + </tr> + <tr> + <td>基本支持</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}<sup>[1]</sup></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}<sup>[1]</sup></td> + </tr> + </tbody> +</table> +</div> + +<p>[1] As of Chrome 45, this property no longer inherits from Node.</p> + +<h2 id="参考">参考</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-637646024" title="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-637646024">Document Object Model Core level 3: Interface Attr</a></li> + <li><a class="external" href="http://www.w3.org/TR/dom/#interface-attr">Document Object Model 4: Interface Attr</a></li> +</ul> diff --git a/files/zh-cn/web/api/attr/localname/index.html b/files/zh-cn/web/api/attr/localname/index.html new file mode 100644 index 0000000000..352e0aa02f --- /dev/null +++ b/files/zh-cn/web/api/attr/localname/index.html @@ -0,0 +1,82 @@ +--- +title: Attr.localName +slug: Web/API/Attr/localName +translation_of: Web/API/Attr/localName +--- +<div>{{APIRef("DOM")}}</div> + +<p><code><strong>Attr.localName</strong></code> 为只读属性,返回一个属性限定名称的本名部分(去除命名空间前缀的名字)。</p> + +<div class="note"> +<p>在之前的DOM规范中此API被定义在 {{domxref("Node")}} 接口中。</p> +</div> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox notranslate"><var>name</var> = <var>attribute</var>.localName +</pre> + +<h3 id="返回值">返回值</h3> + +<p>属性的限定名称的本名 {{domxref("DOMString")}} 。</p> + +<h2 id="示例">示例</h2> + +<p>下面的例子将弹出一个有“id”文字的警告窗口。</p> + +<h3 id="HTML_代码">HTML 代码</h3> + +<pre class="brush: html notranslate"><button id="example">Click me</button></pre> + +<h3 id="JavaScript_代码">JavaScript 代码</h3> + +<pre class="brush: js notranslate">const element = document.querySelector("#example"); +element.addEventListener("click", function() { + const attribute = element.attributes[0]; + alert(attribute.localName); +}); +</pre> + +<p>{{ EmbedLiveSample('Example','100%',30) }}</p> + +<h2 id="注意">注意</h2> + +<p>本文档中属性的“本名(local name)”指的是属性“限定名称(qualified names)”的命名空间冒号之后的部分。“限定名称”通常作为XML文档命名空间的一部分用在XML代码内。 </p> + +<div class="note"> +<p><strong>注意:在</strong>{{Gecko("1.9.2")}} 以及跟早的版本中,HTML DOM 访问该属性将返回 HTML 节点属性的大写字符串本名(有别于 XML DOM 的 XHTML 属性)。在后来的版本中,为遵循HTML5 标准,该属性返回 DOM 内部存储的名称,即,不论 HTML DOM 的 HTML 属性还是 XML DOM 的 XHTML属性都是小写字符串。</p> +</div> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">规范</th> + <th scope="col">状态</th> + <th scope="col">备注</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#dom-attr-localname', 'Attr.localName')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td>Initial definition</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + + + +<p>{{Compat("api.Attr.localName")}}</p> + +<h2 id="参考">参考</h2> + +<ul> + <li>{{domxref("Attr.namespaceURI")}}</li> + <li>{{domxref("Attr.prefix")}}</li> + <li>{{domxref("Element.localName")}}</li> + <li>{{domxref("Node.localName")}}</li> +</ul> diff --git a/files/zh-cn/web/api/attr/namespaceuri/index.html b/files/zh-cn/web/api/attr/namespaceuri/index.html new file mode 100644 index 0000000000..eab2e0094c --- /dev/null +++ b/files/zh-cn/web/api/attr/namespaceuri/index.html @@ -0,0 +1,121 @@ +--- +title: Attr.namespaceURI +slug: Web/API/Attr/namespaceURI +translation_of: Web/API/Attr/namespaceURI +--- +<div>{{APIRef("DOM")}}</div> + +<p><code><strong>Attr.namespaceURI</strong></code> 只读属性返回属性的命名空间URI,如果该元素不在命名空间中,则返回null。</p> + +<div class="note"> +<p>在DOM4之前,该API是在 {{domxref("Node")}} 中定义的。</p> +</div> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox"><var>namespace</var> = <var>attribute</var>.namespaceURI</pre> + +<h2 id="例子">例子</h2> + +<p>在这个片段中,正在检查一个属性的 {{domxref("localName")}} 和 <code>namespaceURI</code>. 如果 <code>namespaceURI </code>返回XUL命名空间,并且localName返回 "browser",则该节点被理解为XUL <code><browser/></code>。</p> + +<pre class="brush:js">if (attribute.localName == "value" && + attribute.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") { + // this is a XUL value +}</pre> + +<h2 id="笔记">笔记</h2> + +<p>这不是基于对范围中的命名空间声明的检查的命名空间查找的结果的计算值。<br> + 属性的命名空间URI在属性创建时被冻结。</p> + +<p>在Firefox 3.5及更早版本中,HTML文档中HTML属性的命名空间URI为null。<br> + 在后来的版本中,遵照HTML5,就像在XHTML中一样是<code><a class="external" href="https://www.w3.org/1999/xhtml" rel="freelink">https://www.w3.org/1999/xhtml</a></code>{{gecko_minversion_inline("1.9.2")}}</p> + +<p>您可以使用DOM Level 2方法 {{domxref("Element.setAttributeNS")}}创建具有指定namespaceURI的属性。</p> + +<p>根据 <a class="external" href="https://www.w3.org/TR/xml-names11/">Namespaces in XML</a> 规范, 属性不会从其附加的元素继承其命名空间。<br> + 如果一个属性没有明确地给出一个命名空间,它没有命名空间。</p> + +<p>DOM本身不处理或强制命名空间验证。 DOM应用程序需要做任何必要的验证。<br> + 还要注意,一旦与特定节点相关联,命名空间前缀将无法更改。</p> + +<h2 id="规格">规格</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">规格</th> + <th scope="col">状态</th> + <th scope="col">注释</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("DOM4", "#dom-element-namespaceuri", "Element.namespaceuri")}}</td> + <td>{{Spec2("DOM4")}}</td> + <td>初始定义</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>特征</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>基本支持</td> + <td>46.0<sup>[1]</sup></td> + <td>{{CompatGeckoDesktop("48.0")}}<sup>[1]</sup></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>特征</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>基本支持</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("48.0")}}<sup>[1]</sup></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] 此API以前在 {{domxref("Node")}} API上可用。</p> + +<h2 id="其他文章">其他文章</h2> + +<ul> + <li>{{domxref("Attr.localName")}}</li> + <li>{{domxref("Attr.prefix")}}</li> + <li>{{domxref("Element.namespaceURI")}}</li> + <li>{{domxref("Node.namespaceURI")}}</li> +</ul> diff --git a/files/zh-cn/web/api/attr/prefix/index.html b/files/zh-cn/web/api/attr/prefix/index.html new file mode 100644 index 0000000000..16215636ec --- /dev/null +++ b/files/zh-cn/web/api/attr/prefix/index.html @@ -0,0 +1,67 @@ +--- +title: Attr.prefix +slug: Web/API/Attr/prefix +translation_of: Web/API/Attr/prefix +--- +<div>{{APIRef("DOM")}}</div> + +<p><code><strong>Attr.prefix</strong></code> 为只读属性,返回指定标签属性的名字空间前缀,如果没有前缀则返回 <code>null</code>。</p> + +<div class="note"> +<p>在 DOM4 之前此 API 被定义在 {{domxref("Node")}} 接口中。</p> +</div> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox notranslate"><var>string</var> = <var>attribute</var>.prefix +</pre> + +<h2 id="示例">示例</h2> + +<p>下例在控制台中输出“x”。</p> + +<pre class="brush:xml notranslate"><div x:id="example" onclick="console.log(this.attributes[0].prefix)"/> +</pre> + +<h2 id="注意">注意</h2> + +<p>该属性仅在使用有名字空间解析功能的解析器时有效,例如一个MIME类型为XML的文档。在HTML文档中无效。</p> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">规范</th> + <th scope="col">状态</th> + <th scope="col">备注</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#dom-attr-prefix', 'Attr: prefix')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName("DOM4", "#dom-attr-prefix", "Attr.prefix")}}</td> + <td>{{Spec2("DOM4")}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + + + +<p>{{Compat("api.Attr.prefix")}}</p> + +<h2 id="参考">参考</h2> + +<ul> + <li>{{domxref("Attr.namespaceURI")}}</li> + <li>{{domxref("Attr.localName")}}</li> + <li>{{domxref("Element.prefix")}}</li> + <li>{{domxref("Node.prefix")}}</li> +</ul> |