我有一个表,您可以从对话框中选择行和编辑字段。这些表行通常具有用于拖放功能的图标,以及附件的图标。问题是当您从对话框编辑文本时,无论我使用.html()还是.text(),图标都会清除。我相信使用.content()的形式是可行的,但我不知道如何去做。我试图避免用.not()清除图像而没有运气。有任何想法吗?提前致谢。 http://jsfiddle.net/BWCBX/11/
$( ".saveBtn" ).click(function() {
properties.eq(0).html($("#name").val());
properties.eq(1).html($("#perm").val());
});
答案 0 :(得分:1)
有了你所拥有的,你可以像这样替换文字:
$(".saveBtn").click(function () {
properties.get(0).firstChild.nextSibling.nodeValue = $("#name").val();
properties.eq(1).text($("#perm").val());
$(".prop").dialog("close");
});
<强> Fiddle 强>
但最好将文本包装在另一个元素中,并为其设置值以便更好地操作。
答案 1 :(得分:0)
你可以像这样使用.content()
$( ".saveBtn" ).click(function() {
properties.eq(0).contents()[1].textContent=$("#name").val();
properties.eq(1).html($("#perm").val());
$( ".prop" ).dialog( "close" );
});
http://jsfiddle.net/BWCBX/19/
编辑
如果你需要代码在低于9的IE上工作,你可以这样做
$( ".saveBtn" ).click(function() {
properties.eq(0).contents().eq(1).wrap("<span></span>").parent().html($("#name").val());
properties.eq(1).html($("#perm").val());
$( ".prop" ).dialog( "close" );
});