jquery: obtém o valor do atributo personalizado

html5 suporta o atributo placeholder eminput[type=text] elementos, mas preciso lidar com navegadores não compatíveis. Sei que existem milhares de plugins disponíveis para o espaço reservado, mas gostaria de criar o 1001s

Sou capaz de controlar oinput[placeholder], mas tentar obter o valor do atributo placeholder está retornando indefinido -$("input[placeholder]").attr("placeholder").

Estou usando o jquery 1.6.2.

Aqui está o jsfiddle. Modifiquei o código para funcionar em um navegador compatível com html5 apenas para fins de teste.

html

<input type="text" name="email" size="10" placeholder="EMAIL ADDRESS">

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"));
            }
        });
    }
});

Obrigado por toda e qualquer ajuda, B

questionAnswers(2)

yourAnswerToTheQuestion