任何人都可以告诉我如何为这个给定的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中检查它的值,如果它不匹配然后重定向页面。所以如何使脚本工作。
我希望你明白这一点。
答案 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'})