如何在IE中更改图像的不透明度jQuery,CSS

如何在IE中更改图像的不透明度jQuery,CSS,jquery,css,internet-explorer,internet-explorer-8,Jquery,Css,Internet Explorer,Internet Explorer 8,FF、Chrome和Safari中的以下工作: $('#delete_img').click(function(e) { var offset = $(this).offset(); $(this).parent().parent().fadeTo("slow", 0.30); $(this).parents("li").children("img").css({ 'border' : '3px solid #f6f6f7'

FF、Chrome和Safari中的以下工作:

$('#delete_img').click(function(e) {
            var offset = $(this).offset();
            $(this).parent().parent().fadeTo("slow", 0.30);
            $(this).parents("li").children("img").css({ 'border' : '3px solid #f6f6f7' });
            e.stopPropagation();
});
但在IE8中没有(我甚至没有在7和更早版本中进行测试)

如何在IE8中实现此功能

编辑:根据流行的要求,这里是HTML:

<div id="slider-code">
        <a class="buttons prev" href="#"></a>
        <div class="viewport">
            <ul class="overview">           
                <li><img src="images/red-stripe.jpg" /></li>
                <li><img src="images/red-stripe-bw.jpg" /></li>
                <li><img src="images/red-stripe-red.jpg" /></li>            
                <li><img src="images/red-stripe-dark.jpg" /></li>
                <li><img src="images/red-stripe.jpg" /></li>
                <li><img src="images/red-stripe-red.jpg" /></li>
                <li><img src="images/red-stripe-dark.jpg" /></li>           
            </ul>       
        </div>
        <a class="buttons next" href="#"></a>
    </div>

    <div style="clear:both"></div>

    <div id="edit-image-nav">
        <div id="add_comment"><img src="images/comment-icon.png" /></div>
        <div id="like"><img src="images/paint-icon.png" /></div>
        <div id="delete_img"><img src="images/delete-icon.png" /></div>
    </div>  


请注意,当您单击“编辑图像导航”div中的一个图标(覆盖在上面的onHover中的图像上)时,它具有不同的功能。对于其他图标,它可以工作。对于
#delete_img
,它不是。它似乎不是代码中的错误,但如果它真的不起作用,请尝试以下操作:

图像不能是父图像(很可能不是),因此您的选择器是错误的。如果没有相关的HTML代码段,很难说它应该是什么,但您可能想尝试一下(如果您的“删除”按钮距离要删除的目标低两级,那么这将起作用):


$('#delete_img').click(function(e) {
            var offset = $(this).offset();
            $(this).parent().parent().parent().children("img").fadeTo("slow", 0.30, function() {
                   $(this).css('opacity', 0.3);
            } );
            $(this).parents("li").children("img").css({ 'border' : '3px solid #f6f6f7' });
            e.stopPropagation();
});
图像上的fadeTo方法与IE8配合得很好。如果这不起作用,请张贴您的html


否则,请确保您的img标签具有指定的高度和宽度,否则IE不会对元素应用不透明度更改,因为它“没有布局”-有关详细说明,请参阅。

id
delete\u img
是否重复?是否在代码中的任何位置重复?这就是原因吗?我只是搜索了JS文件,没有重复。在标记中,我的意思是,ID必须是唯一的。@Nick是的,它只出现一次。从来没有重复过-无论如何,在这个页面上。你能发布你的HTML吗?我刚刚在你的另一篇文章中注意到,你的
标签末尾没有
/>
。这可能会导致IE8窒息。不……不起作用。顺便说一句,我不确定这是否会改变什么,但我正在尝试改变图像的不透明度<代码>$(此).parent().parent()是一个图像。伙计…太棒了。这很有效。那么,为什么这发生在IE8而不是Safari、Chrome或FF中?除了IE很烂这一事实之外,Michal是如何说“形象不能成为父母的”。所以我认为问题就在这里。为什么它能在Safari、Chrome和FF中工作是个好问题。
$(this).parent().parent().find("img").fadeTo("slow", 0.30);