我见过删除并添加工作onclick
。但绝不是一个单一的功能。
我只想要一个函数,当调用它时,将从DOM中删除一个元素,并重新添加元素。 - 所以问题是,有人可以帮我弄清楚我哪里出错了。
我可以删除元素,删除后可以收到警报。我可以添加延迟的元素,它们出现 - 没问题。
我可以单独制作每个功能并且它们可以工作(尽管从另一个中调用一个不起作用)。但是,当我尝试用延迟和添加替换alert
时,没有任何反应。没有错误。什么都没有。
我无法运行单独的功能,我需要在删除后直接添加。我需要在调用时反复运行该函数,而不刷新页面。
切换display
属性不是一种选择!
$("#captcha").on("remove", function () {
alert("Element was removed"); //works perfectly
$("#contain").delay(10000).queue(function(next) {
$(this).add('<iframe id="captcha" class="captcha" src="mypage.php"></iframe>');
}); // doesn't work inside this function but works perfectly outside this function
});
function RemoveDiv() {
var d = $("#captcha");
d.remove();
}
RemoveDiv();
同样我尝试创建一个函数AddDiv()并添加然后调用AddDiv();来自RemoveDiv();
更新
function RemoveDiv() {
$('#captcha').remove();
$('#contain').append('<iframe id="captcha" class="captcha" src="/includes/captcha.php" style="style=border:0; overflow: hidden; position: absolute; z-index: 100; width: 430px; height:75px;left: 20px; top: 20px; border:none;"></iframe>').delay(10000).queue(function (next) {
$('#contain').append('<iframe id="captcha" class="captcha" src="/includes/captcha.php" style="style=border:0; overflow: hidden; position: absolute; z-index: 100; width: 430px; height:75px;left: 20px; top: 20px; border:none;"></iframe>');
next();
});
}
append函数在RemoveDiv函数之外工作并创建一个延迟,如果我使用标准追加它在RemoveDiv函数内部工作,但它不会延迟工作。那么我如何加入这两个东西,以便延迟在RemoveDiv函数内部工作?
答案 0 :(得分:0)
感谢@EvanTrimboli,我终于能够找到解决方案了。
function RemoveDiv() {
$('#captcha').remove();
$('#contain').delay(10000).queue(function (next) {
$(this).append('<iframe id="captcha" class="captcha"
src="/includes/captcha.php" style="style=border:0; overflow: hidden;
position: absolute; z-index: 100; width: 430px; height:75px;left: 20px; top: 20px;
border:none;"></iframe>');
next();
});
}