使用Jquery删除文本

时间:2013-04-13 03:26:05

标签: jquery css dom html

我使用以下代码隐藏某些文字(2009年,2010年,2011年,2012年,2013年)以显示在div中:

<script type="text/javascript">
$(function ($) {
var el = $("#right_side");
//replace(/word to remove/ig, "");  
el.html(el.html().replace(/\(2009\)/ig, ""));
el.html(el.html().replace(/\(2010\)/ig, ""));
el.html(el.html().replace(/\(2011\)/ig, ""));
el.html(el.html().replace(/\(2012\)/ig, ""));
el.html(el.html().replace(/\(2013\)/ig, ""));
});
</script>

首先,我如何压缩此代码,以便我只使用1 el.html等。

其次,如何在加载DOM之前首先触发此代码?目前还有一两个,我可以在代码开始之前看到不需要的文本。这种延迟也导致adsense广告消失。我在JQUERY之后直接将这个代码放在HEAD中,这是第一个加载的。

我有一个这个here的实例。查看右侧列中的“最新预告片”部分,了解代码所针对的位置。

对此的任何帮助将不胜感激。

谢谢你。

4 个答案:

答案 0 :(得分:0)

您可以尝试使用正则表达式 - el.html(el.html().replace(/(20[\d\d]{2})/ig, '')。也许包含隐藏文本的容器或visibility: none。只有在更换完成后,才将其带回视图中。

答案 1 :(得分:0)

尝试

el.html(el.html().replace(/\(2009|2010|2011|2012|2013\)/ig, ""));

答案 2 :(得分:0)

$(function ($) {
var el = $("#right_side");
//replace(/word to remove/ig, "");  
CleanUp(el,2009);
CleanUp(el,2010);

...
...
});
function CleanUp(el,value)
{
el.html(el.html().replace('/\(' + value + '\)/ig', ""));


}

答案 3 :(得分:0)

要替换以20开头并以两位数结尾的任何内容,您可以使用以下内容。如果在标头中加载它,则必须等待DOM加载。

el.html=el.html().replace(/\(20\d\d\)/g, '');

如果你认为它是真正的OR,你可以继续重复......

el.html=el.html().replace(/\((2009|2010|2011|2012|2013)\)/g, '');

编辑:显然这个库可以用来修改DOM,因为它加载了一些浏览器,可以设置一个回调来替换正确的CSS类 - https://github.com/jamesallardice/Progressive.js