我在这样的字符串中有HTML片段:
var htmlString = '<input type="text" id="someID" name="someID">';
我如何使用jQuery设置其值,以便HTML最终如下:
'<input type="text" id="someID" name="someID" value="newValue">';
谢谢, 斯科特
答案 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");
答案 2 :(得分:3)
你只想操纵字符串,对吗?有很多方法可以给这只猫上皮,但是
var newString = htmlString.replace('>', ' value="newValue">');
答案 3 :(得分:1)
准备好dom后,将输入附加到body,然后使用id =“someID”获取输入并将其值设置为newValue
$(document).ready(function(){
$("body").append(htmlString);
$("#someID").val("newValue");
});