-1

私はドキュメントを調べていて、ドキュメントによると次のように述べているattr_get_iHTML:Elementメソッドに出くわしました:

リスト コンテキストでは、$h と、$h から開始してその上方向に進むすべての祖先の指定された属性の値で構成されるリストを返します。

さて、そこで与えられた例によれば:

<html lang='i-klingon'>
     <head><title>Pati Pata</title></head>
     <body>
       <h1 lang='la'>Stuff</h1>
       <p lang='es-MX' align='center'>
         Foo bar baz <cite>Quux</cite>.
       </p>
       <p>Hooboy.</p>
     </body>
   </html>

$hが の場合<cite> element$h->attr_get_i("lang")リスト コンテキストでは list が返されます('es-MX', 'i-klingon')

さて、私の理解によれば、返されるリスト('es-MX', 'la', 'i-klingon')はそれも考慮する必要があります<h1 lang='la'>Stuff</h1>が、ドキュメントによるとそうではありません。

さて、なぜ私はここで間違っているのでしょうか。

4

2 に答える 2

3

ここでの「lang」属性は次のとおりです。

+-------------+------------------+
|    lang     |       path       |
+-------------+------------------+
| i-klingon   | /html            |
| la          | /html/body/h1    |
| es-MX       | /html/body/p     |
+-------------+------------------+

<cite>ノードはその親 (パスは ) として持っていないため<h1>/html/body/p/citeその<h1>祖先ではありません。これが、メソッドがそれを返さない理由です。

于 2012-09-12T17:26:18.807 に答える
2

<h1 lang='la'>Stuff</h1>は の祖先ではなく <cite>、兄弟です。

于 2012-09-12T17:25:03.933 に答える