noscript过滤添加超链接-清除JavaScript
我的项目依靠JavaScript在超链接点击上动态显示内容。为了在不启用JavaScript的情况下使其干净地降级,我只需显示所有页面内容,并使用超链接和锚来连接各个部分 我依靠jQuery通过ID识别超链接的点击,因此如果没有JavaScript,我需要添加锚 这是noscript的一个很好的用途吗?主要是,这是否总是添加没有JavaScript的超链接noscript过滤添加超链接-清除JavaScript,javascript,jquery,noscript,Javascript,Jquery,Noscript,我的项目依靠JavaScript在超链接点击上动态显示内容。为了在不启用JavaScript的情况下使其干净地降级,我只需显示所有页面内容,并使用超链接和锚来连接各个部分 我依靠jQuery通过ID识别超链接的点击,因此如果没有JavaScript,我需要添加锚 这是noscript的一个很好的用途吗?主要是,这是否总是添加没有JavaScript的超链接 <div id="link1"> <noscript><a href="#link1content">
<div id="link1">
<noscript><a href="#link1content"></noscript>
1. Link Name Here
<noscript></a></noscript>
</div>
元素包含其他元素,而不仅仅是标记。开始标记和结束标记必须在容器中。A会捡到这个的 不过,您首先不应该为此使用noscript。更大致的是:
<a class="enhanced_in_some_way" href="#link1content">1. Link Name Here</a>
…可能是前进的方向。在许多浏览器中,这将起作用,但我不推荐它。它完全破坏了HTML的结构,并不能保证在所有浏览器中都能正常工作,甚至不能保证在将来的浏览器版本中也能正常工作。实际上,这里不需要noscript。默认情况下,将锚定目标放在超链接中,在jQuery或javascript单击函数中,以
返回false
或事件完成。preventDefault()代码>。如果启用JavaScript,这将阻止链接被跟踪;如果禁用JavaScript,将导致跟踪锚。您可以用最小的开销实现双向覆盖
jQuery('a.enhanced_in_some_way').click(function (event) {
var link = this;
var name = /#([^#]+$)/.exec(link.href);
do_something_with(name);
event.preventDefault();
});