【问题标题】:How to check multiple CSS properties in a jQuery script如何在 jQuery 脚本中检查多个 CSS 属性
【发布时间】:2016-01-07 03:20:24
【问题描述】:

我有以下脚本

$('#copyright, #credit, #doom a').each(function () {
    if ($(this).css('font-size') != '15px') {
        document.location.href = "http://www.example.com";
    }
});

它检查所有这些 ID 的 CSS 属性是否为 font-size 15px;如果不是 15px,那么页面将被重定向到 example.com。

我想知道如何在该脚本中添加多个 CSS 属性。我想加入position:relative;height:auto;background:#000;

它可能看起来像这样:(这只是示例,不是工作脚本)

  $('#copyright, #credit, #doom a').each(function () {
        if 
           position:relative;height:auto;background:#000

            { do nothing }

else
        {
            document.location.href = "http://www.example.com";
        }
    });

【问题讨论】:

    标签: javascript jquery html redirect url-redirection


    【解决方案1】:

    大概是这样的:

    为了模块化和清晰起见,您可以将此过程分离为自己的功能:

    function valid(element){
        return (element.css('font-size') != '15px' &&
               (element.css('position') != 'relative' && 
               (element.css('height') != 'auto' && 
               (element.css('background') != '#000');
    }
    

    然后在你的代码中使用它:

    if (valid($(this)){
        document.location.href = "http://www.example.com";
    }
    

    【讨论】:

    • 完全是的,...但是脚本仍然会变长..如果用更少的脚本完成相同的工作...是否有任何捷径......意味着像这样一次分配整个属性:位置:相对;高度:自动;背景:#000。不像你使用 OR 条件那样分开..
    • 嗨,@NickZuber 我同意好的代码,但是,我在脚本中还需要一件事,是否可以声明..#copyright 将只包含 4 个 css 属性,如 1:font-大小 2px:相对位置 3:高度:自动 4:背景:#000 如果我们尝试分配第 5 个属性,假设我们添加边距:自动;那么它应该重定向页面..它应该只保留css中的4属性如果添加另一个那么它应该重定向页面......
    • @IshaqCounciler 您必须为此添加一个自定义例外
    • 嗨,@NickZuber 请分享我不知道什么是自定义异常的代码...我刚刚告诉过你,你在上面看到的每个 ID #copyright, #credit 应该只包含 4 个 css 属性: like 1: font-size 2px: position relative 3: height:auto 4: background:#000, 如果在其中添加额外的,那么页面应该被重定向。
    • @IshaqCounciler 抱歉,我一定不清楚 - 我的意思是您必须手动编写代码来处理该特定情况
    猜你喜欢
    • 2010-10-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2011-11-03
    • 1970-01-01
    相关资源
    最近更新 更多