如果這是你確切的標記,你可以做到這一點。還要注意,這個更新實際上可以在不同的瀏覽器上工作。由於您的複選框,目前沒有一個ID,我使用的是兄弟選擇通過其父p
標籤來訪問它:
jQuery(function($){ // DOM Ready
$("#passwordID + p input").click(function(){
var new_type = $(this).is(':checked') ? "text" : "password",
pwd = $("#passwordID"); // We keep replacing it, so find it again
if(pwd.attr('type') !== new_type){
pwd.replaceWith(
$("<input />", {type: new_type, value: pwd.val(), id: "passwordID", name: "PasswordName"})
);
}
}).click(); // Trigger it once on load in case browser has remembered the setting
});
Demo on JSBin
我相信這不會在IE瀏覽器正常工作。 – SLaks 2010-05-17 16:35:48
請確保在IE中測試它,因爲它不會讓你這樣做,至少不是你所擁有的,你將不得不移除/添加一個輸入元素,這種類型在IE中是不可變的:) – 2010-05-17 16:36:50