如何在此Javascript中添加更多CSS属性

时间:2016-02-11 20:04:11

标签: javascript jquery html css redirect

任何人都可以告诉我如何为这个给定的javascript添加或分配更多属性。

$('#mydoom').each(function () {
    if ($(this).css('visibility') == 'hidden') {
        document.location.href = "http://www.example.com";
    }
});

您看到上面的脚本只有一个css标签/属性可见性:隐藏,如何添加更多属性......

像这样的示例

$('#mydoom').each(function () {
    if ($(this).css('visibility') == 'hidden')
     ($(this).css('display') == 'none')
     ($(this).css('font-size') == '25px')
     ($(this).css('color') == 'red')
 {
        document.location.href = "http://www.example.com";
    }
});

您看到上面的脚本包含许多属性...所以我怎么能这样做,这不是我在上面作为示例向您展示的。

我更新了帖子以使其更清晰:

这里的示例是我的页面:其中包含以下脚本:

我创建的目的是帮助传达,如何使这个脚本工作。

<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
$('#mydoom').each(function () {
    if 
($(this).css('font-size') != '25px') // See if the font-size is **25** if not then redirect.
($(this).css('color') != 'red') // See if the color is **red** if not redirect .
($(this).css('position') != 'relative') // See if the position is **relative** if not redirect.
($(this).css('float') != 'left') // See if the float is **left** if not redirect.
{
        document.location.href = "http://www.example.com";
    }
});
})
//]]>
</script>

我也添加了html和错误的css属性来检查重定向

<style>
  #mydoom {position:absolute;}
  #mydoom {font-size:24px;}
  #mydoom {color:white;}
</style>

<div id="mydoom">
mydoom
  </div>

你看,我把位置:绝对字体大小: 24px 和颜色:白色但页面不重定向为什么?因为我已经设置在javascript中检查它的值,如果它不匹配然后重定向页面。所以如何使脚本工作。

我希望你明白这一点。

3 个答案:

答案 0 :(得分:1)

这不起作用,因为这不是有效的javascript。你需要做的是添加&amp;&amp;在每个条款之间签名并纠正这些情况。

我建议您阅读一般的javascript或编程语法。以下是修复后的代码。

$('#mydoom').each(function () {
    if ($(this).css('visibility') == 'hidden' && $(this).css('display') == 'none' && $(this).css('font-size') == '25px' && $(this).css('color') == 'red'){
        document.location.href = "http://www.example.com";
    }
});

警告,未经测试,但应该可以正常工作。

[编辑]只是想像下面的用户一样添加id是唯一的,所以如果你想要在dom中的多个对象上循环,你需要添加一个类。

因此,您只需将属性类添加到元素中,如下所示:

<div class="mydom"></div>

然后你只需使用.mydom作为选择器。

答案 1 :(得分:0)

问题在于if语句。应该是这样的:

if (condition1 [&& or || condition2]) ...

因此,请将if更改为:

if ($(this).css('visibility') == 'hidden' && $(this).css('display') == 'none' && $(this).css('font-size') == '25px' && $(this).css('color') == 'red')

说清楚:

if (
  $(this).css('visibility') == 'hidden' &&  // See if the visibility is hidden.
  $(this).css('display') == 'none' &&       // See if the display is set to none.
  $(this).css('font-size') == '25px' &&     // See if the font-size is 25px.
  $(this).css('color') == 'red'             // See if the colour is red.
)                                           // And if everything above is right, then...

此外,只有一个#mydoom,因为它是id

<强>更新

成功和失败的小提琴:

由于某种原因,$("#mydoom").css("color")无法返回undefined

片段

<强>故障

$(function() {
  if (
    $("#mydoom").css('visibility') == 'hidden' && // See if the visibility is hidden.
    $("#mydoom").css('display') == 'none' && // See if the display is set to none.
    $("#mydoom").css('font-size') == '25px' && // See if the font-size is 25px.
    $("#mydoom").css('color') == 'red' // See if the colour is red.
  )
    $("body").append("Success");
  else
    $("body").append("Fail");
});
#mydoom {
  position: absolute;
  font-size: 24px;
  color: blue;
}
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<div id="mydoom">
  mydoom
</div>

<强>成功

$(function() {
  if (
    $("#mydoom").css('visibility') == 'hidden' && // See if the visibility is hidden.
    $("#mydoom").css('display') == 'none' && // See if the display is set to none.
    $("#mydoom").css('font-size') == '25px' // See if the font-size is 25px.
    // $("#mydoom").css('color') == 'red'          // See if the colour is red.
  )
    $("body").append("Success");
  else
    $("body").append("Fail");
});
#mydoom {
  position: absolute;
  font-size: 25px;
  color: red;
  visibility: hidden;
  display: none;
}
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<div id="mydoom">
  mydoom
</div>

答案 2 :(得分:0)

您可以在对象中添加多个属性,如下所示:

$(this).css({'visibility': 'hidden', 'display': 'none', 'font-size': '25px'})