1. 程式人生 > >jquery 保證html()拿到的html字串包含input的value值

jquery 保證html()拿到的html字串包含input的value值

發現html()返回的值,並不包含input的value的值, value得到的是空字串。

原因,DOM在這html渲染的時候value這個attribute僅僅是代表input的初始值。

後面,如果需要拿到新的html帶最新value的需要用js手動的設定attribute value為新值。

比如用$().attr('value', '123);

測試程式碼如下

<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">

 $(function(){
	$("#div-1 [name=field-0]").attr('x', 123);
//	$("#div-1 :input").val(7);

 });
function test(){
var fieldValue0 = $("#div-1 [name=field-0]").val();
	$("#div-1 [name=field-0]").attr('value', fieldValue0);
var str=$("#div-1").html();
 alert(str); 

}
</script>
 
<span id="div-1">
<input type="text" name="field-0" value="1">
</span>
 
<input type="button" value="test" onclick="test()">

  


按下test按鈕的時候,會alert的html包含input裡面手動輸入的新值.