我想設置一個元素的名稱和ID被點擊單選按鈕時。爲了避免重複選擇,我試圖將其設置是這樣的:鏈接jQuery函數 - 初級
$("#selectOther").click(function() {
$("[field=primaryInput]").attr('id', "modifiedId", function() {
$(this).attr('name', "modifiedName");
if ($(this).attr('visible') == "False") {
$(this).slideDown('fast');
$(this).attr("visible", "True");
}
});
});
但是,它不工作。看起來ID改變了,但Name不是,執行的其餘部分也不是。有人能幫助我理解如何正確表達這一點嗎?
這裏有一個JFiddle。
編輯:在我最後的情況下,我將有一對夫婦,揭示了場,如果它是隱藏的按鈕,和其他人的,將隱藏它,如果它是可見的。這就是爲什麼我不使用.slideToggle()
你有沒有打擾閱讀[文件](http://api.jquery.com/attr/)? – Amit
'attr()'接受一個或兩個參數,一個屬性id(getter)或一個屬性id和一個值(setter)。不知道你期望與它發生什麼。你可以這樣做:'var thing = $(「[field = primaryInput]」); thing.attr('id',「modifiedId」); thing.attr('name',「modifiedName」); ...' – Tibrogargan
請注意,動態更改元素的'id'屬性不是一個好主意。它們旨在成爲不變的。如果您需要知道對元素的更改,請直接使用其他任何屬性。還要注意'field'和'visible'不是有效的屬性,這意味着你的HTML無效。要使用元素存儲自定義元數據,請使用'data- *'屬性:https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/Using_data_attributes –