使用jquery设置输入html字符串的值

时间:2012-08-17 14:59:51

标签: javascript jquery

我在这样的字符串中有HTML片段:

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

我如何使用jQuery设置其值,以便HTML最终如下:

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

谢谢, 斯科特

4 个答案:

答案 0 :(得分: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());

答案 1 :(得分:6)

首先需要将您的元素添加到DOM(即您的网页)。例如:

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

然后您可以将input作为jquery对象访问,并添加value属性,如下所示:

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

-- See Demo --

答案 2 :(得分:3)

你只想操纵字符串,对吗?有很多方法可以给这只猫上皮,但是

var newString = htmlString.replace('>', ' value="newValue">');

答案 3 :(得分:1)

准备好dom后,将输入附加到body,然后使用id =“someID”获取输入并将其值设置为newValue

   $(document).ready(function(){
       $("body").append(htmlString);
       $("#someID").val("newValue");
    });