【问题标题】:jquery .html() function issuejquery .html() 函数问题
【发布时间】:2011-12-01 12:20:00
【问题描述】:

如果我在 div 中有一个 Textarea。类似的东西

   <div id="section3">
    <textarea id="txtArea1">old value
    </textarea>
   </div>

并通过使用:

alert($('#section3').html());
$('#txtArea1').val('new value');
alert($('#section3').html());

两个警报都使用 ("old value"); 显示相同的标记; 有什么办法可以刷新 html 以便最后一条语句获取更新的 html 标记?

【问题讨论】:

  • 您的代码示例是否正确?看起来应该是$('#txtArea1').val('new value');
  • 抱歉 ID 错误。但这不是我的问题。我只是写错了。这实际上不是我的代码,它是一个简化版本。但即使使用 txtArea1 我也有相同的 html() 结果。
  • 起初,我以为您在显示 html 标签而不是文本的最后一个警报时遇到了问题。现在我很困惑。
  • 使用.html() 而不是.val() 来更改文本区域的内容。
  • 这可能是浏览器特定的问题;你在用火狐吗?如果是这样的话:stackoverflow.com/questions/1388893/…

标签: jquery html


【解决方案1】:
$("#txtArea1").html("new value");
alert($("#txtArea1").html());

【讨论】:

  • 这最终是浏览器特定的问题。但你的回答确实有帮助。谢谢
【解决方案2】:

我认为这可能是特定于浏览器的问题。您可以使用this jsFiddle 对其进行测试。
上面的代码在 Firefox 中失败,但在 IE 中有效。 See this stackoverflow question and answer for more detail.

【讨论】:

  • 这正是我的问题。谢谢!
【解决方案3】:

您需要将.val() 与 textareas 和 jQuery 一起使用。这有点违反直觉,因为 textarea 的内容是 inside 标签,而不是 value="",但这是 jQuery 保持一致性的方式。

alert($('#section3').val());

$('#textarea').val('new value');

alert($('#section3').val());

会给你新的价值。

【讨论】:

    【解决方案4】:

    试试这个:

    alert( $('section3').text() );

    最后一行。

    【讨论】:

      【解决方案5】:

      您没有 ID 为“textarea”的 textarea。尝试改变

      $('#textarea').val('new value');
      

      $('#txtArea1').val('new value');
      

      【讨论】:

        【解决方案6】:

        改变这一行:

         $('#txtArea1').val('new value');
        

        收件人:

         $('#txtArea1').text('new value');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-13
          • 1970-01-01
          • 1970-01-01
          • 2011-09-10
          • 1970-01-01
          相关资源
          最近更新 更多