下面是我想要实现的简化版本。
基本上,有链接,当点击它时,它将转到不同页面上的锚标记。这部分有效:)
当到达其他页面锚点时,我希望自动勾选复选框。想知道你会怎么做。
理念是,有一个菜单,我想在锚标记访问它时扩展/检查该列表项。
<a href="#sample">click here</a>
<a id="sample"></a>
<input type="checkbox" />
<label for="sample">Sample</label>
答案 0 :(得分:2)
使用JQuery:
<a id="sample" href="#">click here</a>
<input type="checkbox" />
<label for="sample">Sample</label>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
$('#sample').click(function(e){
$(this).next().prop( "checked", true );
});
</script>
这对我有用。
答案 1 :(得分:1)
像这样的东西,也许:
function check() {
if (/sample/.test(window.location.hash)) {
document.querySelector('#the-checkbox').checked = true;
}
}
(假设您选中了id
的{{1}}复选框...
如果锚点在同一页面上,就像你链接到的JSFiddle那样,你应该听一下hashchange
事件:
the-checkbox
如果它在一个单独的页面上,你应该在加载DOM时(或者在window.onhashchange = check;
下面的某个点)调用check()
。