7

次のような文字列に HTML のスニペットがあります。

var htmlString = '<input type="text" id="someID" name="someID">';

jQuery を使用して、HTML が次のようになるように値を設定するにはどうすればよいですか。

'<input type="text" id="someID" name="someID" value="newValue">';

ありがとう、スコット

4

4 に答える 4

7
$(htmlString).attr("value", "newValue");

ただし、これは文字列ではなく jQuery オブジェクトを返します。DOM に追加できます。

$(htmlString).attr("value", "newValue").appendTo("body"); // you can give any element instead of body

編集 :

@idor_brad のメソッドを使用できます。それが最善の方法か、

var htmlString = '<input type="text" id="someID" name="someID">';

var $htmlString = $(htmlString);
$htmlString.attr("value1", "newValue1");
$htmlString.attr("value2", "newValue2");
$htmlString.attr("value3", "newValue3");

console.log($htmlString.get(0).outerHTML);

また

var htmlString = '<input type="text" id="someID" name="someID">';

var $htmlString = $(htmlString);
$htmlString.attr("value1", "newValue1");
$htmlString.attr("value2", "newValue2");
$htmlString.attr("value3", "newValue3");

console.log($("<div>").append($htmlString).html());
于 2012-08-17T15:03:12.777 に答える
6

最初に要素を DOM (つまり、Web ページ) に追加する必要があります。例えば:

$(".container").append(htmlString);

次にinput、jquery オブジェクトとしてアクセスし、次のように value 属性を追加できます。

$("#someID").val("newValue");

-- デモを見る --

于 2012-08-17T15:02:48.680 に答える
4

文字列を操作したいだけですよね?この猫の皮を剥く方法はたくさんありますが、

var newString = htmlString.replace('>', ' value="newValue">');
于 2012-08-17T15:05:55.407 に答える
1

dom の準備ができたら、入力を body に追加し、id = "someID" で入力を取得し、その値を newValue に設定します

   $(document).ready(function(){
       $("body").append(htmlString);
       $("#someID").val("newValue");
    });
于 2012-08-17T15:03:50.377 に答える