HTML嵌套-锚点标签

12

今天我正在为网页设计一个选项卡导航。我尝试了滑动门方法,效果很好。然后我意识到我必须包含一个删除选项卡的选项(通常是每个选项卡右上角的小 X)。

我想使用嵌套锚点,但这是不允许的。然后我看到了Pageflakes的选项卡导航,实际上它是可以工作的(包括嵌套超链接)。为什么呢?

5个回答

17

这对HTML 5是真的吗?我没有看到它。http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html#the-a-element - Sean
3
我明白了,但是需要一段时间才能看清。在你提供的页面中写道:“a”元素可以包裹整个段落、列表、表格等甚至整个区块,只要其中没有交互内容(例如按钮或其他链接)即可。 - Lori
@Sean 在HTML5中,<a>被称为“交互内容”。http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html#the-a-element指出,在内容模型中,“不能有交互内容后代”。 - phnah

9

他们一定是用JavaScript做了一些非常疯狂的事情才能让它工作(请注意,父标签和嵌套的锚点标签都没有name或href属性-所有功能都通过类名和JS完成)。

这是html的样子:

<a class="page_tab page_tab">
  <div class="page_title" title="Click to rename this page.">Click & Type Page Name</div>
  <a class="delete_page" title="Click to delete this page" style="display: block;">X</a>
</a>

0

虽然嵌套标签是非法的,但使用JS编写它们可以正常工作!尝试这个:

$('<a>', {
     href: 'http://google.com',
     html: '<a>i am nested anchor  </a>I am top Anchor'
 }).appendTo($('body'))

0

我怀疑嵌套链接是否能正常工作取决于您的浏览器是以严格模式(例如XHTML DTD,application/xml+html MIME类型)还是“怪异”模式呈现页面。


0

实际上,我之前粘贴的代码是经过所有JS操作生成的DOM。如果你在Firefox浏览器中没有Firebug扩展程序,现在应该去下载。

编辑:已删除旧帖,它不再有用。Firebug很有用,所以这个帖子会留下 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接