1

現在、ユーザーがクリックするまで、テキスト ボックスのタイトルをデフォルトのテキストとして追加する jQuery 関数に苦労しています。特定のテキストボックスにのみこの機能を適用したいので、タイトル検索でフィールドにのみ適用されるように「title="Search"」で修正しました。ただし、これにより機能が壊れているようです。以下の関数の何が問題なのか誰か知っていますか?

$('input[type="text" title="Search"]').each(function() {
    this.value = $(this).attr('title');
    $(this).addClass('text-label');

    $(this).focus(function() {
        if (this.value == $(this).attr('title')) {
            this.value = '';
            $(this).removeClass('text-label');
        }
    });

    $(this).blur(function() {
        if (this.value == '') {
            this.value = $(this).attr('title');
            $(this).addClass('text-label');
        }
    });
});
4

1 に答える 1

6

$('input[type="text"][title="Search"]')代わりに使用してみてください。

jQuery で属性セレクターを使用している場合、個々の属性を個別に記述する必要があります。

アップデート:

特定の div 内の要素に対してこれを機能させるには、次を試してください。

$('#id_of_the_div input[type="text"][title="Search"]')

于 2012-11-20T10:10:14.107 に答える