2017-06-21 53 views
0

可以说我有这个网站的body元素:如何在href而不是id中使用data-attr?

<a href="#fragment-1">Go to href</a>

我需要一个锚带我去这个其他元素在同一页:

<div id="fragment-1">Some content</div>

有我我正在做一个id,但我想使用数据属性。

喜欢这种定位的:<a href="data-attr">Go to href</a>

采取这种div<div data-attr="fragment-1">Some content</div>

我怎样才能做到这一点?

+1

无法用直接的HTML。你需要JavaScript。 – j08691

+0

另外,你为什么需要这个? ID应该是唯一的,所以使用'#fragment-1'不应该有问题。 'data-attr'可能不是唯一的。 – BenM

+0

@BenM,因为我需要一些其他元素,这取决于'fragments-X'。我需要有超过1个元素的相同的东西。这不可能是一堂课。 – TheUnnamed

回答

5

你不能。由于数据属性

  • 是用户定义的,和
  • 没有内置到他们的独特性语义,

他们不能像标识为锚的目的。

您可以使用JavaScript将页面滚动到与document.querySelector('[data-attr="your-fragment"]')匹配的任何元素,但这是JavaScript的版图。您不会在HTML本身免费获得这种行为。

相关问题