jQuery中的attr函數(shù)常常被用來獲取或者設(shè)置HTML元素的屬性。然而,在某些情況下,它可能會失靈,無法按照我們期望的方式工作。
// 以下代碼并不能按照我們期望的方式工作 $("button").attr("disabled", "disabled");
在上面的例子中,我們期望使用attr函數(shù)將按鈕的disabled屬性設(shè)置為disabled,導(dǎo)致按鈕變?yōu)椴豢捎脿顟B(tài)。但是,這個代碼段并不會工作。原因在于,HTML5中的disabled屬性不是一個布爾值,而是一個有值的屬性。因此,正確的代碼應(yīng)該是:
$("button").prop("disabled", true);
在這里,我們使用prop函數(shù)而不是attr函數(shù),并將第二個參數(shù)設(shè)置為true,以便正確設(shè)置按鈕的狀態(tài)。在實際開發(fā)中,如果出現(xiàn)了類似的問題,我們需要檢查HTML標(biāo)準(zhǔn),以確定我們應(yīng)該使用屬性還是屬性的值,以及使用哪個jQuery函數(shù)來進行操作。