$("input[type=radio]").change(function(){
alert(this.val());
});
爲什麼這不起作用? 我想要的是,每次選擇單選按鈕時,頁面都會提醒其值。Jquery val()不會工作?
$("input[type=radio]").change(function(){
alert(this.val());
});
爲什麼這不起作用? 我想要的是,每次選擇單選按鈕時,頁面都會提醒其值。Jquery val()不會工作?
我相信你需要這樣做:
$("input[type=radio]").change(function(){
alert($(this).val());
});
正如@Eonasdan已經說了,你需要使用$(this).val()
。
原因是this
指向純DOM元素,而.val()
需要jQuery對象。
順便說一句,你必須報價在屬性選擇屬性值:$("input[type='radio']")
+1'必須引用屬性='值'選擇器' –
雖然他們的文檔稱它們爲「強制性」,但對於帶空格的屬性值以及對於jQuery 1.4.4+,引號的要求是暗中真實的;在這之前的版本工作正常(大部分時間)。據說,我**做推薦*總是*包括報價無論如何。 –
我猜這些引號對於無空間的情況只是可選的,以避免破壞舊代碼和大量的舊插件。所以就像你可以在不用引號的情況下在PHP中編寫字母數字字符串(是的,真的!會拋出一個「處理常量爲字符串」的通知),這是你應該做的。 – ThiefMaster
你需要 'jQuerify' 的this
對象:
比this.val()
相反,它應該是$(this).val()
試試這個:
$("input[type=radio]").change(function(){
alert($(this).val());
});
您必須將this
包裝在jQuery對象中以使用.val()方法。
在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());
});
你有什麼錯誤嗎?執行此操作時是否準備好了DOM?我們需要用HTML查看整個頁面。 –