【问题标题】:Get the current HTML of an element获取元素的当前 HTML
【发布时间】:2013-03-01 17:21:43
【问题描述】:

我有一个 id 为“stage”的 div。在这个 div 中,有文本输入和其他任何可能放入其中的内容。

当用户单击按钮时,我想在舞台 div 中获取 html 并将其保存在某处。我注意到的问题是在更改屏幕上的 TextInput 后​​,我​​没有得到当前的 HTML。

问题是我永远不知道这个阶段的 div 会是什么。它可以是任意数量的东西,大多数时候包含用户可以输入文本的表单元素。

例如,如果包含阶段

<input type='text' value="Test Content">

当它被创建时,然后用户将输入的值更改为“我的测试内容”,我希望 jQuery html() 得到

<input type='text' value="My Test Content"> 

点击按钮时。

如何做到这一点?

感谢您的帮助!

【问题讨论】:

    标签: jquery html text-capture


    【解决方案1】:

    仅使用.html()不会更改input 的值。它将继续使用初始值:&lt;input type='text' value="Test Content"&gt;。我推荐使用.each().val()

    JAVASCRIPT:

    $(document).ready(function(){
        $('#b1').click(function(){
            $('#stage input').each(function(){
               $('#stage input').attr('value', $(this).val());
            });
            $('#results').html($('#stage').html());
        });
    });
    

    演示: http://jsfiddle.net/dirtyd77/Yctwk/5/

    【讨论】:

      【解决方案2】:

      如果您知道 buttonID,则可以执行以下操作:

      var divHtml; 
      
      $("#buttonID").click(function() {
          divHtml = ("#stage").html();
      });
      

      当您单击 ID 为“buttonID”的按钮时,这会将 ID 为“stage”的 div 中的所有 HTML 分配给变量 divHtml

      【讨论】:

      • 这就是我正在做的,但它正在获取创建阶段 div 时的 HTML。所以我在上面的例子中得到
      猜你喜欢
      • 2013-09-10
      • 2017-10-12
      • 2012-08-04
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2019-10-07
      • 2012-12-01
      • 1970-01-01
      相关资源
      最近更新 更多