如何更改或设置jquery变量对象中输入的值。 例如:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
htmlString = '<div><input name="hello" value="AAAAAAAA" /> </div>';
$htmlString = $(htmlString);
$htmlString.find('[name="hello"]').val('world')
console.log( $htmlString.find('[name="hello"]').val() );
console.log( $htmlString.prop('outerHTML') );
</script>
[name =“hello”]的值在第一个console.log中显示为'world',但在第二个显示它仍然是'AAAAAAAA'。 我需要它保持'世界'。
答案 0 :(得分:1)
使用jQuery&#39; s .attr()
设置新的属性值,在纯js中调用.setAttribute()
,并且它们都会在DOM结构中进行更改。
为什么第一个控制台显示&#34;世界&#34;还有吗?
e.g。如果您设置输入值,如
inputID.value = "world";
//value changed but if you try to view HTML source you see no changes
inputID.setAttribute("value","world");
//here your source code changed
同样在jQuery中
inputID.val("world");
//value changed but if you try to view source HTML you see no changes
inputID.attr("value","world");
//here your source code changed
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
htmlString = '<div><input name="hello" value="AAAAAAAA" /> </div>';
$htmlString = $(htmlString);
$htmlString.find('[name="hello"]').attr("value",'world');
console.log( $htmlString.find('[name="hello"]').val() );
console.log( $htmlString.prop('outerHTML') );
</script>
&#13;