本质上,我有一些代码需要在其任何输入元素模糊时获取父元素的 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());
});