我正在开发一个网络应用程序,我想删除所有 <a>
有“问题”这个词的。所以我写了以下脚本:-
<script>
$( document ).ready(function() {
$('a.ms-pivotControl-surfacedOpt:contains("question")').hide();
});
</script>
现在我得到了这个行为:-
当页面首次加载时,脚本将能够正确隐藏所有内容。
但是,如果我单击一个按钮,以基于 Ajax 的方法刷新页面,那么将显示其中包含“问题”的内容(脚本不会产生任何效果)。
所以我认为问题在于脚本将无法理解新添加的内容。我记得在旧的jquery版本中我用来定义.Live()
为了让我的脚本保持活跃并理解新添加的内容,那么这在我上面的脚本中可能吗?
最佳答案
on()
和已弃用的 live()
仅用于事件委托(delegate),不适用于 DOM 操作或插件初始化。
当你需要操作新插入的html,或者初始化它上面的插件时,没有办法委托(delegate)它,你需要使用ajax的回调来完成它。
使用最简单的ajax方法的示例load()
$('#container').load('somefile.html',function(){
// new html exists, "this" is initial selector element
$(this).find('.someClass').hide();
});
关于javascript - 我可以应用 .On() 和 jquery .Hide() 来隐藏新添加的内容吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944498/