我正在尝试查看元素是否具有特定的CSS属性。我在考虑这样的事情:
if ( !$(this).attr('font-style', 'italic')) {
alert ("yop")
}
else {
alert ("nope")
}
它不起作用。关于这个的任何提示? 谢谢!
答案 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以确保这一点。