我写了下面的代码,在5秒后删除了一个带有类rc-anchor-pt的元素(如果它存在于DOM中),
checkContainer();
counter = 1;
function checkContainer () {
alert("checkContainer");
$('.rc-anchor-pt').remove();
$('.rc-anchor-logo-portrait').append('<a href=\"http://www.un.org/en/aboutun/privacy/\" target=\"_blank\">Privacy & Terms</a>');
if($('.rc-anchor-pt').is(':visible')){ //if the container is visible on the page
var privacy = $('.rc-anchor-pt').find('a');
} else {
if (counter === 1)
{
setTimeout(checkContainer, 5000); //wait 50000 ms, then try again
counter++;
}
}
}
但是以下行并没有从DOM中删除元素。你能告诉我是什么原因吗?提前谢谢。我在document.ready only中运行该元素出现在页面中 -
$('.rc-anchor-pt').remove();
答案 0 :(得分:1)
我不确定您要使用代码完成什么。您已在问题中声明希望在5秒后从DOM中删除元素...您应该能够使用以下代码完成此操作:
$('.rc-anchor-logo-portrait').append('<br><a href=\"http://www.un.org/en/aboutun/privacy/\" target=\"_blank\">Privacy & Terms</a>');
setTimeout(function(){
$('.rc-anchor-pt').remove();
}, 5000);
您的代码布局方式,rc-anchor-pt
类永远不会可见。那真的没有任何意义。如果你想让append
函数在5秒后运行,只需将它放在setTimeout函数中。
这是一个小提琴:https://jsfiddle.net/1399u65t/3/