2014-07-26 127 views
0

這是一個非常新手的問題。
demo中有三個選項,如複選框。 當點擊該選項時,我想更改複選框等點擊選項的背景顏色。
我不明白由於選項的id相同的問題是option更改點擊元素的樣式

+6

DOM中具有相同ID的多個元素無效 – PeeHaa

+0

id屬性應該是唯一的。改爲使用class屬性。 –

+0

@PeeHaa如果我設置每個元素的differents ID如何處理CSS?我需要爲每個不同的ID設置#選項樣式嗎? – Tahtakafa

回答

2

查詢一個可能的實現可以是:

$(document).ready(function(){ 
    $(".myCheckboxClass").bind('click', function(){ 
     $(this).css('background-color', 'red'); 
    }); 

}); 

基本上可以做到在JS一樣的,只是檢查的正確語法。關鍵是點擊元素的「這個」選擇。

1

的使用class代替id,因爲(正如它的名字已經說)id必須是唯一的,否則就不是一個id了..

修理和工作版本:http://jsfiddle.net/hvWeG/5/

$(function(){ 
    $('.option').on('click',function(){ 
    $(this).css('background-color','yellow'); 
    }); 
}); 

HTML

<ul style="display:block;" id="options"> 
    <li class="option">Cucumber</li> 
    <li class="option">Tomato</li> 
    <li class="option">Potato</li> 
</ul> 
1

檢查了這一點 check edited Code here

1>您所有的溫控功能應該是頭,中的jsfiddle靠近左上角改變onloadno wrap in head

2首先>你不需要腳本標籤的onclick

3>文件內。 getElementById('option')將只選擇第一個ID爲'option'的元素 檢查下面的代碼,我對代碼做了一些小的修改。 check edited Code here