3

jQueryでvalue属性をプレースホルダーに変更したい。したがって、結果は次のようになります

オリジナル

<input type="text" value="Enter name" />

上で変更したいもの

<input type="text" placeholder="Enter name" />

私は、実際のテキストを「」の間で変更するための解決策を見つけただけで、その前のテキストは見つけませんでした。したがって、replaceWith、replaceAllは機能しないようです。

これを解決する方法を考えている人はいますか?

4

2 に答える 2

15

あなたは使用することができます

.removeAttr('value')属性を削除する

例:

$('input[type=text]').removeAttr('value');

で新しい属性を追加します

.attr('placeholder','Enter name')

例:

$('input[type=text]').attr('placeholder','Enter name');

によって提案されたようにrcdmk

メソッドを連鎖させることができます:

    $('input[type="text"]').each(function() { 
        var $this = $(this); 
        $this.attr("placeholder", $this.attr("value")).removeAttr("value"); 
    });
于 2012-07-11T12:00:51.873 に答える
0
<input type="text" id="searchInput" value="enter text...">

var plcehldr = "enter text...";    
$( "#searchInput" ).focusin(function() {
  $(this).removeAttr("value");
});

$( "#searchInput" ).focusout(function() {
   $(this).attr("value",plcehldr);
});

http://jsfiddle.net/ipsjolly/2qutf/14/

于 2013-11-29T09:30:29.713 に答える