在使用jQuery時(shí),判斷元素是否具有某個(gè)CSS屬性是一個(gè)常見的操作。實(shí)現(xiàn)這個(gè)需求我們可以使用jQuery提供的css()方法獲取元素的CSS屬性,或者使用hasClass()方法檢測(cè)元素是否含有某個(gè)類。具體實(shí)現(xiàn)方法如下:
// 使用css()方法 if ($('#element').css('color')) { // 具有color屬性 } else { // 不具有color屬性 } // 使用hasClass()方法 if ($('#element').hasClass('my-class')) { // 具有my-class類 } else { // 不具有my-class類 }
需要注意的是,在使用css()方法時(shí),獲取到的CSS屬性值為空(即返回false),并不代表元素沒有該屬性,可能是樣式值為none或者默認(rèn)值為該屬性的初始值。所以,在判斷元素是否具有某個(gè)CSS屬性時(shí),最好使用hasClass()方法。
除了以上兩種方法,我們也可以通過遍歷元素的style屬性來判斷元素是否含有某個(gè)CSS屬性,代碼如下:
var hasColor = false; var styles = $('#element')[0].style; // 獲取元素的style對(duì)象 // 遍歷元素的style屬性,查找是否有color屬性 for (var i = 0; i< styles.length; i++) { if (styles[i] === 'color') { hasColor = true; break; } } if (hasColor) { // 具有color屬性 } else { // 不具有color屬性 }