在JavaScript中的顏色分配給具有id
爲'ID'
元素中使用jQuery我們分配如下:如何測試某個元素是否已具有指定的顏色?
$('#ID').css({'background-color':'#FF0000'});
但如何知道該元素是否已經被分配了一個顏色?
我需要檢查元素是否已經被賦值爲紅色。如果已經分配了紅色,我需要在JavaScript中設置一些標誌。
在JavaScript中的顏色分配給具有id
爲'ID'
元素中使用jQuery我們分配如下:如何測試某個元素是否已具有指定的顏色?
$('#ID').css({'background-color':'#FF0000'});
但如何知道該元素是否已經被分配了一個顏色?
我需要檢查元素是否已經被賦值爲紅色。如果已經分配了紅色,我需要在JavaScript中設置一些標誌。
獲得VAL
var old_css = $('#ID').css('background-color');
或使用
var old = document.getElementById("id").style.backgroundColor;
也看看這個帖子
像哈伊姆Evgi建議,你可以得到的CSS的值元素,但是如果你試試這個
console.log(jQuery('#someId').css('background-color'));
對於沒有任何background-color
集的元素,您將獲得transparent
。 現在讓我們假設你想擴展你的用例不僅涵蓋#f00
,而且是一個可變的顏色,你可能會陷入困境。
我最初的想法,一邊讀你的問題是使用CSS類來鑑定的變化:
CSS
/* i assume red indicates an error :) */
.error { background-color: #f00; }
的JavaScript
if(jQuery('#someId').hasClass('error')) {
/* do something fancy */
}
或
jQuery.each(jQuery('.error'), function(index, value) {
/* do something with each erroneous element */
});
這麥es設置和檢查更改也會稍微舒適一些。
[編輯:樣品片段]
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.error{ background-color: #f00; }
</style>
<script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {
console.log('Background #someId: ' + jQuery('#someId').css('background-color')); // transparent
console.log('Background #someOtherId: ' + jQuery('#someOtherId').css('background-color')); // transparent
console.log('#someId has error: ' + jQuery('#someId').hasClass('error')); // false
console.log('#someOtherId has error: ' + jQuery('#someOtherId').hasClass('error')); // false
jQuery('#someOtherId').addClass('error');
console.log('#someId has error: ' + jQuery('#someId').hasClass('error')); // false
console.log('#someOtherId has error: ' + jQuery('#someOtherId').hasClass('error')); // true
});
</script>
</head>
<body>
<div id="someId">foo</div>
<div id="someOtherId">bar</div>
</body>
</html>
感謝您的快速響應...... – Joy 2010-12-23 08:46:02
感謝您的響應.. – Joy 2010-12-23 08:42:30