我是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中。
任何帮助都会感激不尽
谢谢,
理查德
答案 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>