声明具有多个if的多个var,但是执行任何if,而不是one,all或none。 [HTML + JavaScript]

时间:2013-03-07 10:53:57

标签: javascript html

这样的事情:

<!-- HTML on page -->

<!-- hide the following div by class-->
<div id="bed" class="blankets"> 
    We sell blankets
</div>

<!-- hide the following div by ID -->
<div id="animal" class="frogs">
    We sell frogs
</div>

<!-- this is the only div I want visible -->
<div id="house" class="speakers">
    We sell houses and speakers
</div>

<!-- hide the following div by class -->
<div id="car" class="suvs">
    We sell cars
</div>

通过UserScript在页面上注入并与GreaseMonkey,Safari,Google Chrome和Opera兼容的JavaScript。

var div = document.getElementById("animal"); 

if (div) {
    div.parentNode.removeChild(div);
};

var cur_columns = document.getElementsByClassName('blankets');
var cur_columns = document.getElementsByClassName('suvs');

if (div) {
    div.parentNode.removeChild(div);
};

我只想在页面中间看到内容,而如果顶部改变服务器端值,但是底部保持不变,底部仍然会隐藏,现在我必须将代码更新为值

我在互联网上看到的只是执行ONE变量的方法,如果匹配ALL,OR(其中一个)。它必须将整个规则与单个点匹配。

我希望这可以在评论中提到的浏览器上工作。 我也不知道如何使用评论。我使用//和/ * /,是/ * \关闭评论的方式?

更新

现在如何在Class上为var添加另一行,以便隐藏第4个div?

1 个答案:

答案 0 :(得分:0)

要弄清楚你想要在这里实现的目标是非常困难的,但我可以解释一下你当前的脚本是做什么的:

// The variable 'div' refers to <div id="frogs">
var div = document.getElementById("frogs"); 

// If 'div' exists, remove it
if (div) {
    div.parentNode.removeChild(div);
};

// The variable 'cur_columns' refers to all elements with class="speaker"
var cur_columns = document.getElementsByClassName('speakers');
// ...and now it refers to all elements with class="suvs"!
var cur_columns = document.getElementsByClassName('suvs');

// If 'div' exists, remove it (again)
if (div) {
    div.parentNode.removeChild(div);
};