我正在查看HTML:Element
文档并遇到attr_get_i方法,根据文档说明:
在列表上下文中,返回包含给定值的列表 $ 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")
将返回列表('es-MX', 'i-klingon')
。
现在,根据我的理解,返回的列表应该是('es-MX', 'la', 'i-klingon')
,它也应该考虑<h1 lang='la'>Stuff</h1>
但是根据文档它没有。{{1}}。
现在,我为什么错在这里。
答案 0 :(得分:3)
这里的'lang'属性是:
+-------------+------------------+
| lang | path |
+-------------+------------------+
| i-klingon | /html |
| la | /html/body/h1 |
| es-MX | /html/body/p |
+-------------+------------------+
<cite>
节点没有<h1>
作为其父节点(路径为/html/body/p/cite
),因此<h1>
不是它的祖先。这就是该方法不返回它的原因。
答案 1 :(得分:2)
<h1 lang='la'>Stuff</h1>
不是<cite>
的祖先,它是兄弟姐妹。