我正在服务器端(HTML 代码)上编写一个 stringbuilder,并通过 ajax 向 jquery 函数发送响应,将这个 HTML 放在适当的位置。在服务器端决定哪个复选框将被选中。到现在为止还挺好。
我想为选中的复选框选择标签并更改颜色,以便选中的国家/地区的颜色不同。我的问题是我无法选择所需的标签并更改颜色属性。我尝试了你所看到的,当然还使用了类+和>和:before和其他奇怪的东西......
那么,如何选择它们并更改标签上的任何属性?
我想用 CSS 来做,我知道如何用 jquery 来做,但它似乎错了。
label + input.chkCountry[type="checkbox"]:checked {color:green;}Run Code Online (Sandbox Code Playgroud)
<ul class="chkbox">
<li><label class="lblCountry" for="chkCC_AF"><input type="checkbox" class="chkCountry" id="chkCC_AF" name="chk_AF" value="AF" checked="checked">Afghanistan</label></li>
<li><label class="lblCountry" for="chkCC_AL"><input type="checkbox" class="chkCountry" id="chkCC_AL" name="chk_AL" value="AL">Albania</label></li>
<li><label class="lblCountry" for="chkCC_DZ"><input type="checkbox" class="chkCountry" id="chkCC_DZ" name="chk_DZ" value="DZ">Algeria</label></li>
<li><label class="lblCountry" for="chkCC_AS"><input type="checkbox" class="chkCountry" id="chkCC_AS" name="chk_AS" value="AS">American Samoa</label></li>
</ul>Run Code Online (Sandbox Code Playgroud)
您只需要更改 HTML 和选择器。在 CSS 中,标签不知道是否选中了复选框,因此您必须将其翻转。在 HTML 中,input不应在label元素中。
input.chkCountry[type="checkbox"]:checked + label {color:green;}
/*input:checked + label {color:green;} /* Short selector */Run Code Online (Sandbox Code Playgroud)
<ul class="chkbox">
<li>
<input type="checkbox" class="chkCountry" id="chkCC_AF" name="chk_AF" value="AF" checked="checked">
<label class="lblCountry" for="chkCC_AF">Afghanistan</label>
</li>
<li>
<input type="checkbox" class="chkCountry" id="chkCC_AL" name="chk_AL" value="AL">
<label class="lblCountry" for="chkCC_AL">Albania</label>
</li>
<li>
<input type="checkbox" class="chkCountry" id="chkCC_DZ" name="chk_DZ" value="DZ">
<label class="lblCountry" for="chkCC_DZ">Algeria</label>
</li>
<li><input type="checkbox" class="chkCountry" id="chkCC_AS" name="chk_AS" value="AS">
<label class="lblCountry" for="chkCC_AS">American Samoa</label>
</li>
</ul>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3430 次 |
| 最近记录: |