刷新DOM Jquery

时间:2013-01-11 04:48:35

标签: jquery dom refresh

我的文档上有两个输入按钮,它们包含在主div“容器”中。

我用过的代码是:

<input id="anotherservices" type="button" value="Add Another Service">
<input id="addmultiterms" type="button" value="Go">

现在,当我点击第一个按钮,即具有值“Add Another Service”的按钮时,我需要上述两个按钮淡出,然后执行ajax请求。然后两个按钮再次附加到主“容器”div。

这是递归的,这意味着当我再次点击新添加的第一个按钮时,新添加的按钮将再次淡出,另一组必须被添加到文档中。

用于实现此目的的代码如下:

$('#anotherservices').live("click",function(e)
{ 
$(this).fadeOut();
$('#addmultiterms').fadeOut();

/* ajax request goes here */ 

$('#container').append('<input id="anotherservices" type="button" value="Add Another Service">');

$('#container').append('<input id="addmultiterms" type="button"  value="Go">');

但是第二个按钮,值为“Go”并没有淡出,因为它没有在运行时添加到dom中。

我如何做到这一点?

2 个答案:

答案 0 :(得分:1)

fadeOut()不会删除评论中所说的 nnnnnn 元素。您可以使用fadeIn()方法再次显示按钮。并且可以使用

更改按钮的值
$("#addmultiterms").attr('value', 'Go');

在添加新按钮之前,第二个选项是删除按钮,您可以使用以下代码删除按钮。

$("#addmultiterms").remove();

答案 1 :(得分:0)

如果要动态添加元素,则必须使用

$(document).ready(function (){
     -- Your Function goes here
})

为什么因为第一次附加fadeOut和其他东西时,必须首先创建它,然后你可以遵循其他逻辑,如删除或类似的东西.. 顺便说一下,你必须明确使用'删除'....

希望这会有所帮助......