0

为什么这段代码不能正常工作?我搜索 .img 属性,但样式没有改变,并且始终可见图片。

HTML

    <script type="text/javascript">
    function displayDate()
    {
            $('img[alt=image2]').css("display","none");
            $('img[alt=image3]').css("display","none");
            $('img[alt=image4]').css("display","none");

            $('img[alt=image2]').css("visibility","visible");
            $('img[alt=image3]').css("visibility","visible");
            $('img[alt=image4]').css("visibility","visible");
    }
</script>

HTML

<body OnLoad="displayDate()">
<img src="im.jpg" alt="image2"/>
<img src="im.jpg" alt="image3"/>
<img src="im.jpg" alt="image4"/>
</body>

您可以在 chrome 中看到错误

在此处输入图像描述

4

2 回答 2

4

我认为您的问题是您在使用 jQuery 语法时没有包含 jQuery 库。因此,尝试通过将其添加到<head>您的页面来包含 jQuery 库:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

在加载时执行某些东西的 jQuery 方法是这样的:

$(function() {
   // this code will execute on load
});

jQuery隐藏元素的方式是这样的:

$('img[alt="image2"]').hide();

要隐藏alt包含“图像”一词的图像,您可以这样做(可以在此处找到其他选择器选项):

$(function() {
    $('img[alt*="image"]').hide();
});

除了使用alt属性,另一个选项是为图像分配一个类,这样您就可以根据它们的类来选择图像:

$(function() {
    $('.myImageClassName').hide();
});

<img class="myImageClassName" />

或将它们包装在div一个独特的id

$(function() {
    $('#myImageContainer img').hide();
});

<div id="myImageContainer">
    <img />
    <img />
    <img />
</div>
于 2013-01-06T12:28:41.540 回答
1

只需尝试为每个 img 标签设置一个 id 并尝试使用此 jquery hide() 函数...

$('#your_img_id').hide();

可能工作...

于 2013-01-06T12:29:27.270 回答