2016-08-14 57 views
0

我想單擊特定色板時改變頁面背景。我的jQuery代碼似乎不工作。有什麼想法嗎?CSS-jquery點擊色板圖標更改背景色板

$(".black swatch").click(function() { 
 
    $("body").addClass("black"); 
 
});
.swatch { 
 
    height: 100px; 
 
    width: 100px; 
 
    border-radius: 50%; 
 
    float: left; 
 
    margin-right: 20px; 
 
    border: 1px solid #000; 
 
} 
 
.black { 
 
    background-color: #000; 
 
    color: #fff; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="swatches"> 
 
    <div class="black swatch"></div>

+0

而不是$(「。black swatch」)試試$(「。black.swat ch「) –

+0

謝謝。這工作 –

回答

0

你想要這樣嗎?這是因爲您只需單擊.swatch div,然後運行腳本添加該類。

$(".swatch").click(function() { 
 
    $("body").addClass("black"); 
 
});
.swatch { 
 
    height: 100px; 
 
    width: 100px; 
 
    border-radius: 50%; 
 
    float: left; 
 
    margin-right: 20px; 
 
    border: 1px solid #000; 
 
} 
 
.black { 
 
    background-color: #000; 
 
    color: #fff; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="swatches"> 
 
    <div class="black swatch"></div>

0

問題是.swatch不是.black

$(".black swatch") 

還缺少.swatch子元素,儘管這會不會影響以前的問題。

如果你有html.swatch元素多.swatch要素只有兩個className是你可以取代swatchclassNamebody

$(".swatch").click(function() { 
    $("body").addClass(this.className.replace(/swatch/, "").trim()); 
});