jquery 保證html()拿到的html字串包含input的value值
阿新 • • 發佈:2019-01-07
發現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裡面手動輸入的新值.