$("input[type=radio]").change(function(){
alert(this.val());
});
为什么这不起作用? 我想要的是每次选择单选按钮时,页面都会提醒其值。
答案 0 :(得分:10)
我相信你需要这样做:
$("input[type=radio]").change(function(){
alert($(this).val());
});
答案 1 :(得分:5)
正如@Eonasdan所说,你需要使用$(this).val()
。
原因是this
指向普通DOM元素,.val()
需要jQuery对象。
顺便说一句,必须在属性选择器中引用属性值:$("input[type='radio']")
答案 2 :(得分:1)
您需要'jQuerify'this
对象:
而不是this.val()
它应该是$(this).val()
答案 3 :(得分:0)
试试这个,而不是:
$("input[type=radio]").change(function(){
alert($(this).val());
});
必须将this
包装在jQuery对象中才能使用.val()方法。
答案 4 :(得分:0)
在jQuery中,您传递给它的API函数提供this
作为匹配您的选择器的DOM元素。但是,this
不是jQuery对象,它实际上是DOM元素的简单。如果要在this
上调用jQuery方法,则需要在{jQuery:this
中包装$(this)
。
$("input[type=radio]").change(function(){
alert($(this).val());
});
如果多次使用它,请不要忘记缓存它,以避免反复重新创建包装。
$("input[type=radio]").change(function(){
var $this = $(this);
$this.addClass('omgitchanged');
alert($this.val());
});