Javascript <;a>;不带href的脚本链接="#&引用;
我的web应用程序使用了大量用于脚本编写的Javascript <;a>;不带href的脚本链接="#&引用;,javascript,html,Javascript,Html,我的web应用程序使用了大量用于脚本编写的锚定链接(这是我10多年前作为Dreamweaver用户时养成的习惯),现在我开始怀疑这是否必要 我不知道为什么要首先使用——我猜href属性的存在会导致浏览器应用:link和:vistedpsuedo类,从而简化样式表。它还使浏览器隐式应用可能需要的cursor:pointer属性 我使用jQuery(在使用MooTools短暂的一段时间之后),链接在没有href=“#”属性和值的情况下也能正常工作,所以我应该完全删除属性并修改样式表以补偿删除:lin
锚定链接(这是我10多年前作为Dreamweaver用户时养成的习惯),现在我开始怀疑这是否必要
我不知道为什么要首先使用
——我猜href
属性的存在会导致浏览器应用:link
和:visted
psuedo类,从而简化样式表。它还使浏览器隐式应用可能需要的cursor:pointer
属性
我使用jQuery(在使用MooTools短暂的一段时间之后),链接在没有
href=“#”
属性和值的情况下也能正常工作,所以我应该完全删除属性并修改样式表以补偿删除:link
psuedo类吗?还有什么我可能遗漏的,href属性嵌入锚元素的任何类型的半文档化巫毒吗?不知道任何巫毒,但是如果你在页面上有很多链接,并且你拉href,那么你必须添加一个类名,在每个类名上加上蓝色和下划线。换言之,为什么要在浏览器都准备好了的情况下引入更多的工作呢。因此,简而言之,请坚持您所知道的内容,我怀疑如果您删除href,页面将无法进行个人验证,我更喜欢使用href=“javascript:void(null);”
,为浏览器提供一个href,它不会干扰哈希的任何其他使用
我注意到的关于href-less链接的唯一区别是浏览器在默认情况下不会给它们加下划线,所以只需添加该样式,您就应该很好了。,不可单击,也不符合页面的选项卡顺序
如果您希望链接可以通过键盘导航,这对辅助功能()非常重要,则需要执行以下操作之一:
- 将元素更改为
- 保留
[href]
属性
- 添加
[tabindex=“0”]
和[role=“button”]
或[role=“link”]
中的一个(可能还有一些样式)
有关[role]
属性的更多信息,请参阅的
更改标记
如果您没有理由保留[href]
属性,那么您最好使用
元素:
<button type="button">
^^^^^^^^^^^^^
您需要监听按键
事件,并触发单击
事件以输入和空格
保留标记
如果保留
元素及其[href]
属性,则有许多选项可供选择
真正的联系
E.x
如果您需要为禁用JS的用户提供支持,那么您可以将他们引导到一个页面,该页面在没有JS的情况下执行相同的功能
通过扩展,这还包括提供文档片段链接,以链接到同一文档中的内容。例如,可切换区域可标记为:
<a href="#more" class="toggleable">Read More</a>
<div id="more">Lorem ipsum dolor sit amet</div>
我有这个问题,特别需要一个手风琴标题成为
其输出为:
我正在实现一个HTML、CSS、JS模板来做出反应,这行代码对我来说非常适合:
<a href={() => false}> Link </a>
我对react js也有同样的问题
Line 273: Links must not point to "#". Use a more descriptive href or use a button instead jsx-a11y/href-no-hash
这样可以消除我使用的错误
之前:
<a
href="#"
className="banner-signup signup-btn envy-font-sans-bold"
onClick={(e) => this.gonext()}
>
NEXT
</a>
使用href=“#”位置上的href=“#”/”
在html中使用
<a id="calendar" href="javascript:void(0)">
<div class="icon-w">
<div class="fa fa-calendar"></div>
</div>
<span>Calendar</span>
</a>
根据锚元素的HTML4 TR部分,href属性不是必需的(),那么它实际上就是工作努力的结果……你知道,为什么要重新发明轮子。我刚刚读了这篇小文章(),评论中的建议似乎建议改为使用
。它的语义价值也比你所说的简单的
更大。@David,span[role=“button”]
在语义上与
相同,而且更易于风格化。我在HTML5或(X)HTML4的任何地方都找不到“role”属性-我确实在目前正在审查的XHTML扩展中找到了对它的引用。你有这方面的来源吗?@David,这是Web易访问性计划的可访问富Internet应用程序()规范的一部分。具体地说,。另外,你打电话给我询问文档的情况也很好。有时我忘记了在我写答案的时候把我想到的资源链接起来;这是其中一种情况。只需在函数中使用return false
或preventDefault()
,即可防止将哈希更改为。
。也会从HTML中删除一些字节。这也是一种与内容安全策略不兼容的做法,除非您希望允许内联脚本,这通常是一件不好的事情。在我的情况下,这是因为我没有用文本填充标记,所以在我更正它之后,很好。我否决了你的答案,因为@zzzzBov的答案中已经提到了这种技术。感谢你提供的信息。你应该使用tabindex
而不是设置一个假的href
值。
<a
href="#"
className="banner-signup signup-btn envy-font-sans-bold"
onClick={(e) => this.gonext()}
>
NEXT
</a>
<a
href="#/"
className="banner-signup signup-btn envy-font-sans-bold"
onClick={(e) => this.gonext()}
>
NEXT
</a>
<a id="calendar" href="javascript:void(0)">
<div class="icon-w">
<div class="fa fa-calendar"></div>
</div>
<span>Calendar</span>
</a>