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(即添加到您的网页)。例如:

$(".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 回答