0

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

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

2 回答 2

1

用你所拥有的,你可以像这样替换文本:

$(".saveBtn").click(function () {
    properties.get(0).firstChild.nextSibling.nodeValue = $("#name").val();
    properties.eq(1).text($("#perm").val());
    $(".prop").dialog("close");
});

小提琴

但最好将文本包装在另一个元素中,并为其设置值以便更好地操作。

于 2013-10-09T15:49:48.710 回答
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/

于 2013-10-09T15:53:10.807 回答