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>

あなたはクロムでエラーを見ることができます

ここに画像の説明を入力してください

4

2 に答える 2

4

あなたの問題は、jQuery構文を使用しているときにjQueryライブラリが含まれていないことだと思います。したがって、これをページのに追加して、jQueryライブラリを含めるようにし<head>てください。

<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();

'image'という単語を含む画像を非表示にするには、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を取得して、このjqueryhide()関数を使用してみてください...

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

うまくいくかもしれない...

于 2013-01-06T12:29:27.270 に答える