如果用戶單擊了其中一個ul
,則顏色和類應該更改。我用這段代碼解決了這個問題,但是我發現事件處理程序在更改類後不再工作。單擊事件處理程序在課程變更後不工作
ul
s應該在每次點擊時改變顏色。
$("ul.AAA").click(function() {
$(this).css("background-color", "yellow");
$(this).removeClass("AAA");
$(this).addClass("BBB");
})
$("ul.BBB").click(function() {
$(this).css("background-color", "blue");
$(this).removeClass("BBB");
$(this).addClass("AAA");
})
div#start {
border: 1px solid black;
cursor: pointer;
}
ul.AAA {
background-color: red;
}
ul.BBB {
background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="AAA">
<li>
<p>LIST 1</p>
</li>
<li>
<div>
<div>A</div>
<div>B</div>
<div>C</div>
</div>
</li>
</ul>
<ul class="BBB">
<li>
<p>LIST 2</p>
</li>
<li>
<div>
<div>A</div>
<div>B</div>
<div>C</div>
</div>
</li>
</ul>
我也on
試了一下:
$("ul.AAA").on("click", function() {
$(this).css("background-color", "yellow");
$(this).removeClass("AAA");
$(this).addClass("BBB");
})
$("ul.BBB").on("click", function() {
$(this).css("background-color", "blue");
$(this).removeClass("BBB");
$(this).addClass("AAA");
})
div#start {
border: 1px solid black;
cursor: pointer;
}
ul.AAA {
background-color: red;
}
ul.BBB {
background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="AAA">
<li>
<p>LIST 1</p>
</li>
<li>
<div>
<div>A</div>
<div>B</div>
<div>C</div>
</div>
</li>
</ul>
<ul class="BBB">
<li>
<p>LIST 2</p>
</li>
<li>
<div>
<div>A</div>
<div>B</div>
<div>C</div>
</div>
</li>
</ul>
我怎樣才能解決這個問題?
你需要委派事件 – guradio