正常工作,我有一個頁面上的JavaScript創建div
元素的格式列表:的jQuery DIV點擊後隱藏不IE8
<div id="UniqueID" class="request">
<div class="request_main"></div> //VISIBLE
<div class="request_info"></div> //HIDDEN
</div>
在點擊一個div
,jQuery的點擊偵聽器處理點擊事件在request_main
元素上,並搜索父div
以獲得request_info
div。然後它顯示request_info
div如果它不可見。
$(".request_main").live('click', function() {
$(".nrl").removeClass('blue').addClass('grey');
if ($(this).parent().find(".request_info").css('display') == 'none') {
$(".request_info").hide();
$(this).parent().find(".request_info").stop(false,true).show("slide", {direction:"up"}, 300, function(){});
$(this).find(".nrl").removeClass('grey').addClass('blue');
$(".links").removeClass('white').addClass('grey');
$(".links").css('background-color','white');
$(this).find(".links").removeClass('grey').addClass('white');
$(this).find(".links").css('background-color','#1B75BB');
}
});
在Firefox,Safari,Chrome甚至IE9中都能正常工作。然而,在IE8中,該功能僅適用於例如在未被點擊之前的div。點擊UniqueID_1
- >request_info
顯示。點擊UniqueID_2
- >request_info
顯示。第二次點擊UniqueID_1
- >沒有任何反應。
alert($(this).parent().find(".request_info").css('display'));
該語句返回每個點擊與工作的瀏覽器none
和block
。在IE8中,第一次返回none
和block
,然後undefined
(當點擊同一個div時)。即使我在顯示和隱藏呼叫之後明確將功能中的div的值設置爲none
和block
,也會發生這種情況。
請把它http://jsfiddle.net/ – Yacov