隐藏从外部URL加载的元素

时间:2013-01-08 10:23:07

标签: javascript html css

我正在尝试从外部网址加载的js小部件中隐藏所有不包含字符串“Marc”的表行。

<script type="text/javascript">
  id = "ki1120mmvd";
  name = "schedules";
  document.write(unescape("%3Cscript src='http://healcode.com/javascripts/hc_widget.js' type='text/javascript'%3E%3C/script%3E"));
</script>

我已经能够使用类id或属性用css隐藏表行中的一些元素但看起来我需要js / jquery / php来完全消除行,而我发现的所有内容都没有工作

这是我抓住代码的链接: http://www.funkydoor.com/studio_polk_street.html

以下是我使用它的方式: http://www.marcmatisyoga.com/schedule.html

3 个答案:

答案 0 :(得分:0)

您可以使用:contains() jQuery选择器,然后根据该选项隐藏信息。

  $("div").not(":contains('marc')").hide();

Quick demo

答案 1 :(得分:0)

如果你想做这个客户端然后尝试JQuery。您可以使用$.each方法迭代每个元素并删除那些不包含“Marc”

的元素
$(document).ready(function() {
    $('.schedule tr').each(function(index){
         if ($(this).html().indexOf('Marc') === -1)
             $(this).hide();
    });
});

答案 2 :(得分:0)

:contains选择器是完美的选择。但是,在您的具体情况下,还需要付出更多努力才能使其发挥作用。在我的测试中,似乎由于外部脚本中的一些损坏的URL是动态加载的,jQuery$undefined。解决方法是在表(以及其他外部脚本)加载后重新加载jQuery API。

<强> [UPDATE]

我正在重新发布.html文件的全部内容,我相信它会呈现正确的结构(对我而言,它适用于Chrome)。为了实现所需的字体颜色和网址格式,您仍需要进行一些必要的修改,您可以通过jQuery的{​​{1}}函数实现,如下所示。请注意:

  1. 我完全删除了.css()代码和
  2. 在动态加载外部脚本之后,我正在<style>...</style>的{​​{1}}标记中调用waitForFnc函数。
  3. 我为水平滚动需要看到完整的<body>样式格式而道歉,但是当你想要修改它时,它与解决方案无关,应用你自己的格式。

    <script>