首頁  >  問答  >  主體

javascript - 被選取的單選項修改樣式

修改被選中的單選項的樣式,但是添加了樣式之後修改選項樣式仍然存在,即同時出現兩個被選中的樣式,以下是我的代碼,請問各位應該如何修改?

<p class="choice">
                            <label>
                                <input type="radio" class="a" name="1"><span class="aFont">aaaaa</span>
                            </label>
                            <label>
                                <input type="radio" class="b" name="1"><span class="bFont">bbbbb</span>
                            </label>
                            <label>
                                <input type="radio" class="c" name="1"><span class="cFont">ccccc</span>
                            </label>
                            <label>
                                <input type="radio" class="d" name="1"><span class="dFont">ddddd</span>
                            </label>
                        </p>
<script>
        $(document).ready(function(){
            $(".choice input[type = 'radio']").on("click",function(){
                if ($(".choice input:checked")){
                    $(this).siblings().css("background","red");
                }
            });
        });
</script>
伊谢尔伦伊谢尔伦2680 天前640

全部回覆(2)我來回復

  • 仅有的幸福

    仅有的幸福2017-05-19 10:39:10

        <p class="choice">
            <label>
                <input type="radio" class="a" name="1"><span class="aFont">aaaaa</span>
            </label>
            <label>
                <input type="radio" class="b" name="1"><span class="bFont">bbbbb</span>
            </label>
            <label>
                <input type="radio" class="c" name="1"><span class="cFont">ccccc</span>
            </label>
            <label>
                <input type="radio" class="d" name="1"><span class="dFont">ddddd</span>
            </label>
        </p>
    <script>
            $(document).ready(function(){
                $(".choice input[type = 'radio']").on("click",function(){
                    if ($(".choice input:checked")){
                        $(this).parent().css("background" , "green").siblings().css("background","red");
                    }
                });
            });
    </script>
    

    你選的 是input 不是label 注意 $(this).parent().css("background","green").siblings()

    回覆
    0
  • 某草草

    某草草2017-05-19 10:39:10

    程式碼沒測試, 思路就是先移除所有背景色,再給點擊的那一個添加背景色, 你這個if判斷是不需要的

    <script>
            $(document).ready(function(){
                $(".choice input[type = 'radio']").on("click",function(){
                       $(".choice input[type = 'radio']").css("background","");
                       $(this).css("background","red");
                });
            });
    </script>

    回覆
    0
  • 取消回覆