更新文本,而不清除表格中的图标?

时间:2013-10-09 15:40:12

标签: javascript jquery html text replace

我有一个表,您可以从对话框中选择行和编辑字段。这些表行通常具有用于拖放功能的图标,以及附件的图标。问题是当您从对话框编辑文本时,无论我使用.html()还是.text(),图标都会清除。我相信使用.content()的形式是可行的,但我不知道如何去做。我试图避免用.not()清除图像而没有运气。有任何想法吗?提前致谢。 http://jsfiddle.net/BWCBX/11/

$( ".saveBtn" ).click(function() {
    properties.eq(0).html($("#name").val()); 
    properties.eq(1).html($("#perm").val());
});

2 个答案:

答案 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" );
});    

http://jsfiddle.net/BWCBX/20/