在jquery变量

时间:2016-11-10 00:23:39

标签: jquery

如何更改或设置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'。 我需要它保持'世界'。

1 个答案:

答案 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

&#13;
&#13;
<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;
&#13;
&#13;