簡體   English   中英

jQuery的圖像選擇器無法在IE7

[英]jquery image selector not working in IE7

所以我有一些類似這樣的html:

<div id="avatar_choices">
    <label for="id_choice_0">
        <input id="id_choice_0" type="radio" name="choice" value="7" />
        <img src="someimage.jpg" />
    </label>
    <label for="id_choice_1">
        <input id="id_choice_1" type="radio" name="choice" value="8" />
        <img src="someimage2.jpg" />
    </label>
</div>

和一些腳本:

$('#avatar_choices input').hide();
$('#avatar_choices img').click(function(){
    $('#avatar_choices img').css('border', '2px solid #efefef');
    $(this).css('border', '2px solid #39c');
    $(this).siblings('input').attr('checked', 'checked');
});

目的是允許用戶單擊圖像選項,使選中的一個高光具有邊框顏色。

這在FF中效果很好。 出於某種原因,在IE中,一旦我單擊圖像,單擊另一個圖像,然后嘗試單擊第一個圖像,邊框就不會改變(盡管它確實被選中了)。

編輯:我的解決方案最終偶然發生了一半。 由於redsquare的回答,我將代碼更改為此:

$('#avatar_choices input').hide();
$('#avatar_choices img').click(function(){
    $('#avatar_choices img').removeClass('selected');
    $(this).addClass('selected');
    $(this).siblings('input').attr('checked', 'checked');
});

哪里:

#avatar_choices img.selected{border:2px solid #39c;}

去搞清楚。

在這種情況下,最好使用addClass和removeClass。 易於維護。 您可以粘貼完整的html嗎,以便我可以看到您的doctype等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM