Jquery隐藏块外的文本

时间:2014-06-24 07:52:27

标签: javascript jquery


我是Javascript的新手,我正在尝试为Chrome编写扩展程序。我在一个方面苦苦挣扎。请注意,HTML来自另一个我无法控制的网页,所以除非我以编程方式执行,否则我无法对其进行修改。此外,我在下面的示例中显示了三个文本项,但这可能只有一个或多个由" br"分隔。 HTML如下:

<div class = "cls" id = "1234">
  <quote>...</quote>
  "Text to hide/show 1"
  <br style="font-size: medium; height: auto; line-height: normal;">
  "Text to hide/show 2"
  <br style="font-size: medium; height: auto; line-height: normal;">
  "Text to hide/show 3"
</div>


Javascript代码如下:

function processQuotes() {
  $('.cls quote').each(function() {
    var $quote = $(this);
    var userId = $quote.parent().first().text();    /* For example */

    /* See whether user is blocked */
    if(blockUser[userId]) {
      /* Hide text and br elements */
    } else {
      /* Show text and br elements */
    }

  });
}

我希望能够隐藏&#34;文本隐藏/显示1&#34;到&#34;文本隐藏/显示3&#34;。我设想使用JQuery $ var.Hide()和$ var.Show()方法,但我正在努力解决如何将我想隐藏的部分隐藏到$ var中。

任何帮助都会感激不尽 谢谢,
理查德

1 个答案:

答案 0 :(得分:0)

我写了一个样本,也许可以提供帮助:

<!DOCTYPE html>
<html>
<head>
    <script src="jquery-1.11.1.min.js" type="text/javascript" ></script>
</head>
<body>
<div class = "cls" id = "1234">
  <quote>...</quote>
  <p style="font-size: medium; height: auto; line-height: normal;">"Text to hide/show 1"</p>
  <br />
  <p style="font-size: medium; height: auto; line-height: normal;">"Text to hide/show 2"</p>
  <br />
  <p>"Text to hide/show 3"</p>
</div>
<script>
for(var i=0; i<3; i++){
    (function(i){
        $("#1234 p").eq(i).click(function(){
            $("#1234 p").show();
            $("#1234 p").eq(i).hide();
        });
    })(i);
}
</script>
</body>
</html>