我正在尝试创建一个脚本,该脚本允许用户单击div
带有h1
'd 位文本的元素,然后将其替换h1
为文本框和图形以在编辑后单击。单击图形后,div
将用新编辑的文本替换文本框和图形h1
。
以下是功能:
function savename() {
var s = $('#mytextbox').val();
$('#mydiv').replaceWith('<div id="mydiv" onclick="editname();"><h1>' + s + '</h1></div>');
}
function editname() {
var strName = $('#mydiv').text();
$('#mydiv').replaceWith($('<div id="mydiv"><input id="mytextbox" name="mytextbox" type="text" value="' + strName + '"><img id="mysavebutton" src="images/save.gif" onclick="savename();"></div>'));
}
这是div:
<div id="mydiv" onclick="editname();"><h1>Some text I want to edit</h1></div>
所以,div
点击功能工作正常。它用文本框替换h1
元素。当我单击保存图形时,它也可以正常工作,因为它会返回h1
. 问题是,文本框的值应该是h1
'd 文本。那部分不工作。它仍然保留旧值。在将其设置为“s”后,我发出了警报.val()
,即使在编辑后它仍然显示旧值。我觉得我错过了一些简单的东西,但我整天都在和它斗争,需要一些新鲜的眼睛来替我看。提前致谢。