我想知道点击了哪个元素,以便我可以更改其CSS类。这是代码:
<script type="text/javascript">
$(function() {
$("#radio").buttonset();
});
</script>
<div id="radio">
<input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
</div>
答案 0 :(得分:13)
jQuery事件返回this
作为触发事件的对象。所以你只需要检查this
。
拥有这组元素
<div id="radio">
<input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
</div>
选择所有无线电元素:
$("#radio :radio")
然后绑定一个事件:
.click(function(e) { });
使用this
检索元素:
$("#radio :radio").click(function(e) {
var rawElement = this;
var $element = $(this);
/* Do stuff with the element that fired the event */
});
<强> Example on jsFiddle. 强>
你可以find here functions来操纵元素的类。
答案 1 :(得分:5)
您还可以使用以下方法从按钮组中检索所选单选按钮:
$j("#radioset :radio:checked")
然后用元素做任何你想做的事......
答案 2 :(得分:2)
你可以这样做:
$("#radio :radio").click(function(){
alert($(this).attr("id")); // this refers to current clicked radio button
$(this).removeClass('class_name').addClass('class_name');
});
答案 3 :(得分:0)
$("#radio :radio").click(function(){
//alert($(this).attr("id"));
});
答案 4 :(得分:0)
$('#radio').bind('click', function(event){
$('#radio').removeClass('selected');
$(this).addClass('selected');
});
答案 5 :(得分:0)
$('#radio').buttonset().find(':radio').click(function(e) {
var $radio = $(this);
$radio.addClass('active');
});