jquery: получить значение настраиваемого атрибута

html5 поддерживает атрибут placeholder для элементов input [type = text] , но мне нужно обрабатывать не -совместимые браузеры. Я знаю, что существует тысяча плагинов для заполнителя, но я бы хотел создать 1001-й.

Я могу получить дескриптор элемента input [placeholder] , но попытка получить значение атрибута placeholder возвращает undefined - $ ("input [placeholder]"). attr ("заполнитель") .

Я использую jquery 1.6.2.

Вот jsfiddle . Я изменил код для работы в браузере, совместимом с html5, только в целях тестирования.

html


jquery

function SupportsInputPlaceholder() {
    var i = document.createElement("input");
    return "placeholder" in i;
}

$(document).ready(function(){
    if(!SupportsInputPlaceholder()) {
        //set initial value to placeholder attribute
        $("input[placeholder]").val($("input[placeholder]").attr("placeholder"));

        //create event handlers for focus and blur
        $("input[placeholder]").focus(function() {
            if($(this).val() == $(this).attr("placeholder")) {
                $(this).val("");
            }
        }).blur(function() {
            if($(this).val() == "") {
                $(this).val($(this).attr("placeholder"));
            }
        });
    }
});

Спасибо за любую помощь, B

46
задан bflemi3 24 August 2011 в 09:01
поделиться