当输入值已更改时,html() 方法错误
html() method wrong when input value has changed
本质上,我有一些代码需要在其任何输入元素模糊时获取父元素的 HTML。这很简单。问题是在父元素上调用html()
时返回的 HTML 不反映其中包含的输入元素的当前值。也就是说,在Firefox或Chrome中。它适用于所有地方的IE。
这是JSFiddle:http://jsfiddle.net/8PJMx/15/
尝试将文本框中的"世界"更改为"所有人",然后单击按钮。请注意,我还附加了$.now()
,以便您可以看到代码实际上正在执行。
如您所见,$("#parent").html()
不会更新,即使$("#child").val()
更新也是如此。为了您的观看乐趣,以下是 HTML:
<div id="parent">Hello <input type='text' id="child" value='world' /></div>
<button id="separateEvent">Get HTML.</button>
<br>
<p>The HTML for #parent is:</p>
<textarea id="parentsHtml" style="width:95%; height: 100px;"></textarea>
<p>The value of #child is:</p>
<textarea id="childsValue" style="width:95%; height: 100px;"></textarea>
。这是JavaScript:
$("#separateEvent").click(function ()
{
$("#parentsHtml").val($("#parent").html() + "'r'n@" + $.now());
$("#childsValue").val($("#child").val() + "'r'n@" + $.now());
});
html
value=""
属性不反映 .value
DOM 属性(不直观),但它反映的是 .defaultValue
DOM 属性。.value
属性未序列化为 HTML,但.defaultValue
序列化为。
用户输入更改.value
,而不是.defaultValue
。
.value
仅反映当输入的脏值标志为 false 时的.defaultValue
下面是一个解决方法,其中还包括 SELECT 框的示例:http://jsfiddle.net/8PJMx/20/
相关文章:
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 使用jquery.load('pageName')方法时,未从应用程序缓存加载Html页
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- 有更好的方法吗?(递归解析HTML unicode实体)
- 如何在JQuery中的.html()方法中包含fadeneffect
- jQuery.html()方法语法
- 将jquery HTML方法中的数据检索到数组中
- HTML方法未使用Document Ready加载值
- 我不明白jQuery .each()和.html()方法是如何工作的
- 使用HTML方法的CSS属性
- Jquery从HTML方法中排除元素
- 如何从$(..).html()方法给出的多行字符串中删除缩进
- jQuery .html方法在表单提交后返回破碎的代码
- 在jQuery中使用html()方法和一个符号
- 如何在. HTML()方法中组合HTML标记和变量?
- jQuery不要在.HTML()方法中解析转义的HTML
- Jquery html()方法获取<超文本标记语言
- Jquery& #39;s html()方法不能有效插入html代码