2014-02-07 69 views
0

我试图单击一个单选按钮的标签,选择该广播选项并使用页面定位点滚动到相应的div。在超链接定位标记中包裹输入标签

任何机会,我可以做到这一点,没有js?我似乎无法得到它的工作。锚作品或标签的作品。

的jsfiddle - http://jsfiddle.net/mfVJ5/

<input type="radio" name="name" id="name" value="1" class="name"> 
<a href="#gosomewhere" class="btn"> 
    <label for="name"> 
    Click to Select Option 
    </label> 
</a> 

<div id="gosomewhere">And I'm here.</div> 
+0

不是没有JS .... – mplungjan

回答

0

不确定为什么不希望使用JS/jQuery的 - 代码是最小的。它应该是这样的:

jsFiddle Demo

$(function() { 
    $('#name').click(function() { 
     $('html, body').animate({scrollTop:$('#gosomewhere').offset().top}, 500); 
    }); 
}); 

,当然,你必须引用jQuery库在<head>标签,就像这样:

<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
</head> 
1

嵌套在a元素中的label元素在HTML 4中没有被正式禁止,bu它的含义既不明确。它是不确定的,当内部元素被点击时会发生什么。在HTML5 CR中,a element是为了这样的原因而定义的,因此不允许交互式后代,并且label被视为交互式。

最好的方法是区分操作,并将它们与不同的元素相关联。具有预期效果(切换按钮设置)和一些完全不同的效果的单选按钮标签的可用性差。但是不可能提出一些具体的编码,因为问题没有完全定义。首先,单选按钮通常以组的形式使用,并且不清楚这个单选按钮是否确实显示为独立。