我有一个带有<a>
标记链接的页面,指向JS脚本(模式窗口),但是如果有人来了并关闭了JS,那么这个页面将不起作用。所以我想在功能上实现它两种情况,JS打开和关闭..
这是用JS脚本重写“href”链接的想法。
JS off:
<a id="first" href="main.php?page=something">Link</a>
JS on:
<a id="first" href="#something">Link</a>
我试试这个:
<a id="first" href="main.php?page=something">Link</a>
<script type="text/javascript">
document.getElementById("first").href= "#something";
</script>
但这只是将“#something”添加到文件名中(例如:如果文件名为something.php,URL将是“something.php#something”)并且不重写它..
有什么建议真的很简单吗?在ID上工作,因为有几个链接需要重新编写..而且没有jQuery请...
答案 0 :(得分:1)
试一试。
for (var i = 0, links = document.links; i < links.length; ++i) {
if (links[i].search.indexOf("page=") > -1)
links[i].href = "#" + links[i].search.split("page=")[1].split("&")[0]
}
答案 1 :(得分:0)
document.getElementById("first").href= "#something";
答案 2 :(得分:0)
最简单的方法是将click
事件添加到应显示模态对话框的所有链接。
HTML:
<a href="main.php?page=something" data-modal="something">Link</a>
JavaScript的:
var anchors = document.querySelectorAll('a[data-modal]');
for (var i = 0, len = anchors.length; i < len; i++) {
anchors[i].addEventListener('click', function(e) {
var modal = this.getAttribute('data-modal');
showModal(document.getElementById(modal));
e.preventDefault();
}, false);
}