2013-01-06 103 views
0

爲什麼此代碼無法正常工作?我搜索.img屬性,但樣式不變,總是可見的圖片。hide .img javascript onload

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

enter image description here

+0

在這一點失敗?它是否找到每個元素? –

+0

你想讓每個img或只有三個隱形,如上面的問題? –

+0

是的,我想每個img都看不見,但是這個代碼工作不正確。我不知道爲什麼?並且圖片可見 –

回答

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圖像(其他選擇方案,可以發現here):

$(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> 
+0

是的我知道與選項隱藏的方式,但我需要知道方式更改屬性。你知道我犯了什麼罪? –

+0

您是否包含jQuery庫?請參閱我的答案的第一部分。 –

+0

是的,現在我的代碼工作正常,但這是我想在網站上修復的問題,我可以看到所有的時間。 –

1

只是嘗試有每個img標籤的ID並嘗試使用這個jQuery HID E()函數...

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

可能工作...

+0

我想用改變屬性的方式 –