如果包含某些文本,则隐藏RSS源

时间:2012-10-09 20:52:14

标签: php javascript css rss

我使用以下代码提取RSS源:

<div id="mcdougaldteens">
<script src="http://feeds.feedburner.com/dcl_mcdougald_teen?format=sigpro" type="text/javascript" ></script>
</div>

这是即将举办的活动的供稿,如果没有活动,Feed会显示:“提供这些标题的供稿不可用。”

我要么将文本更改为“不再发生事件”,要么只是在Feed没有引入事件时完全隐藏Feed。

我尝试过这样的事情没有成功:

<script type="text/javascript">
function hideEmptyRSS() {
    var el = document.getElementById("mcdougaldteens");
    if(el.innerHTML == "The feed providing these headlines is not available.")  {
        el.style.display = "none";
    }   else    {
        el.style.display = "block";
    }
}
</script>

我可以使用JavaScript,PHP或CSS。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

你在第3行错过了indexOf

function hideEmptyRSS() {
    var el = document.getElementById("mcdougaldteens");
    if (el.innerHTML.indexOf("The feed providing these headlines is not available") > -1) {
        el.style.display = "none";
    }
    else {
        el.style.display = "block";
    }
}

修改

好吧,我刚看到脚本在你的内部创建了另一个div 所以你需要在新元素中搜索文本,但要隐藏你的文本。 像这样:

var el_mine = document.getElementById("mcdougaldteens");
var el_theirs = document.getElementsByClassName('feedburnerFeedBlock');

if (el_theirs[0].innerHTML.indexOf("The feed providing these headlines is not available") > -1) {
    el_mine.style.display = "none";
}
else {
    el_mine.style.display = "block";
}

在此测试:http://jsfiddle.net/RASG/DqrT9/