jQuery检查元素是否具有特定属性

时间:2010-02-25 12:08:25

标签: jquery attributes

我正在尝试查看元素是否具有特定的CSS属性。我在考虑这样的事情:

if ( !$(this).attr('font-style', 'italic')) {
alert ("yop")
}
else {
alert ("nope")
}

它不起作用。关于这个的任何提示? 谢谢!

6 个答案:

答案 0 :(得分:5)

这是一个简单的插件(测试):

$.fn.hasCss = function(prop, val) {
    return $(this).css(prop.toLowerCase()) == val.toLowerCase();
}

$(document).ready(function() {
    alert($("a").hasCss("Font-Style", "Italic"));
});

<a style="fonT-sTyle:ItAlIc">Test</a>

答案 1 :(得分:4)

你正试图获得一种CSS风格。 css方法可以获取信息

if ( !$(this).css('font-style') == "italic") {
    alert ("yop")
}
else {
    alert ("nope")
}

答案 2 :(得分:1)

您可以获取font-style元素并使用==运算符来获取true / false值:

if($(this).attr('font-style') == 'italic')
{
    alert('yes')
}
else
{
    alert('no')
}

答案 3 :(得分:1)

这个怎么样

 if ($(this).css('font-style', 'italic')) {
    alert ("yes")
    }
    else {
    alert ("nop")
    }

但是如果我是你,我宁愿使用console.log而不是警告,使用firebug不那么烦人且更有趣:D

<script>

     $(document).ready(function(){ 
         $('#selectable1 span').live('click', function() { 
            if (!($(this).css("font-style","italic"))){ 
                alert ("yop"); 
              } else { 
                alert ("nope"); 
              } 
         }); 
     }); 

</script> 

我不明白为什么这不起作用..

答案 4 :(得分:0)

你想要这个:

if ( $(this).attr('font-style') !=  'italic') {
  alert ("yop")
}
else {
  alert ("nope")
}

答案 5 :(得分:0)

尝试条件的morf和添加的几个半列:

$(document).ready(function()
{
    $('#selectable1 span').live('click', function()
    {
        if ($(this).css('font-style') != "italic")
        {
            alert("yop");
        } 
        else
        {
            alert("nope");
        };
    });
}); 

注意:根据其他评论做出关于选择和后续标记的假设 - 需要查看html以确保这一点。