jQuery检查元素是否具有特定属性
我试图看一个元素是否具有特定的CSS属性。 我在考虑这样的事情:
if ( !$(this).attr('font-style', 'italic')) { alert ("yop") } else { alert ("nope") }
这是行不通的。 关于这个的任何提示? 谢谢!
这是一个简单的插件(测试):
$.fn.hasCss = function(prop, val) { return $(this).css(prop.toLowerCase()) == val.toLowerCase(); } $(document).ready(function() { alert($("a").hasCss("Font-Style", "Italic")); }); Test
你正试图获得一种CSS风格。 css方法可以获取信息
if ( !$(this).css('font-style') == "italic") { alert ("yop") } else { alert ("nope") }
你可以得到font-style元素并使用==运算符来获得true / false值:
if($(this).attr('font-style') == 'italic') { alert('yes') } else { alert('no') }
这个怎么样
if ($(this).css('font-style', 'italic')) { alert ("yes") } else { alert ("nop") }
但是我宁愿使用console.log而不是警告如果我是你,使用firebug它不那么讨厌和更有趣:D
我不明白为什么这不起作用..
尝试条件的morf和添加的几个半列:
$(document).ready(function() { $('#selectable1 span').live('click', function() { if ($(this).css('font-style') != "italic") { alert("yop"); } else { alert("nope"); }; }); });
注意:基于其他注释对选择和后续标记做出假设 – 需要查看html以确保这一点。
你要这个:
if ( $(this).attr('font-style') != 'italic') { alert ("yop") } else { alert ("nope") }