JQuery-删除页面加载时的动态内容?
如何使用jQuery删除页面加载事件中动态生成的文本?JQuery-删除页面加载时的动态内容?,jquery,Jquery,如何使用jQuery删除页面加载事件中动态生成的文本? 我试过谷歌,但没发现有用的东西。实际上,我使用的是第三方JS库,它在html页面上插入一些我需要删除的文本 我尝试了这段代码,但它删除了html页面中已经存在的常量文本,而不是动态文本 $('div:contains("Powered by")').remove(); 编辑: 这是完整的代码 <!DOCTYPE html> <html> <head> <script
我试过谷歌,但没发现有用的东西。实际上,我使用的是第三方JS库,它在html页面上插入一些我需要删除的文本 我尝试了这段代码,但它删除了html页面中已经存在的常量文本,而不是动态文本
$('div:contains("Powered by")').remove();
编辑:
这是完整的代码
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-2.1.4.min.js"></script>
</head>
<body>
<div id="translate">
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en',includedLanguages: 'en,es,fr,it'}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</div>
</body>
</html>
函数googleTranslateElementInit(){
新的google.translate.TranslateElement({pageLanguage:'en',includelanguages:'en,es,fr,it'},'google_translate_element');
}
注意:Google translator添加了我需要的选择框,但在其下方添加了一些我想删除的文本“Powered by”。虽然可以用css隐藏文本,但我想用jQuery删除它。在页面加载事件或
窗口加载事件中,它不会工作,因为您的DOM
还没有准备好,这意味着由驱动的div
和text不在那里,而您的code
在此之前正在执行,你必须把你的代码放在DOM
ready函数中,该函数位于生成该函数的那一行下面
注意检查您的br播放机控制台是否有错误
如果没有错误,则它将正常工作
喜欢
$(文档).ready(函数(){
$(“div:contains('Powered By'))).remove();
});代码>
由更新提供动力
另一个解决方案是:
$(窗口).on('load',函数(e){
$('div.skiptranslate.goog te gadget').hide();
});
这是一个简单的片段
函数googleTranslateElementInit(){
新的google.translate.TranslateElement({pageLanguage:'en',includelanguages:'en,es,fr,it'},'google_translate_element');
}
旧答案
您可以使用来检查您的一个div下是否存在您要查找的文本:
$(document).on('DOMNodeInserted','div:contains(“Powered By”)),函数(e){
log('element div conating'由“removed!”供电);
$(this.remove();
});
$(函数(){
$('#addText')。在('click',函数(e)上{
$('div').append('Powered By');
});
$('#addDiv')。在('click',函数(e)上{
$(“正文”)。在(………)之前;
});
});代码>
技术支持
技术支持
技术支持
添加文本
添加div
可以创建小提琴。这样我们就可以检查了。也许你应该把这段代码放到一个区间中,比如,var interval\u of_function=setInterval(function(){$('div:contains(“Powered by”))。remove();},100);这是解决这个问题的最好办法吗?我认为不是因为它可能有更多的资源@esertbasWell M.Tanzil解释得很好,它应该可以工作,除非在一段时间后应用文本驱动。试试这个代码;它将循环,直到找到“供电”,然后停止。var interval_of_function=setInterval(function(){var query=$('div:contains(“Powered by”));if(query.length>0){query.remove();}else{clearInterval(interval_of_function);},100);我已经编辑了我的问题。请参阅完整代码。setInterval不起作用。请在由
驱动的周围使用单引号,同时检查代码段,您可以检查浏览器控制台是否有错误,可能有错误。请再次检查我的问题。这是关于动态生成的文本,而不是页面上已经存在的静态文本。然后将该行放在生成该的行下方,或者使用setInterval
。效果非常好。我唯一修改它的地方是将代码放入$(document).ready(function(){$(document).on('DOMNodeInserted','div:contains('Powered By'),function(e){console.log('element div conating'Powered By'removed!');$(this.remove();});