2010-03-01 46 views
0

任何人都可以幫我讓我知道下面的代碼有什麼問題嗎?jquery .attr(「alt」)=='name'

$(document).ready(function(){ 
    $("img").attr("alt")=='minimize'.click(function(){ 
     alert("he"); 
    }); 
}); 

謝謝。

加法: 對不起,我試圖添加一個事件到一個表格內的圖像,所以當它點擊它摺疊需要的div。

我在這裏面臨幾個問題。

1.-所有表和div使用相同的類。 2.-它可能是至少兩個表格和div。 3.-第一張桌子不應該是可點擊的,只有它的圖片(用於顯示和隱藏div) 4.-其餘桌子應該是可點擊的,整個桌子可以用滑動條顯示和隱藏div。 5.-其餘表格還有兩張圖片用於顯示slideDown和slideUp。

我有它的作品,但不完全。

再次。

謝謝。

到目前爲止,這是我所擁有的。

<script type="text/javascript"> 
$(document).ready(function(){ 

    $(".heading:not(#Container1)").click(function(){ 
    var c = $(this).next(".container"); 
    c.slideToggle("slow"); 
    }); 


    }); 

    $(document).ready(function(){ 
    $("img[alt='min']").click(function(){ 
    var c = $(this).next(".container"); 
    c.slideToggle("slow"); 

    }); 

    $("img[alt='max']").click(function(){ 
    var c = $(this).next(".container"); 
    c.slideToggle("slow"); 

    }); 
    }); 
</script> 

<html> 
    <head></head> 
    <body> 
    <table class="heading" id="container1"> 
     <tr> 
     <td>heading1</td> 
     <td><img alt='min'/><img alt='max'/></td> 
    </tr> 
    </table> 
    <div class='container'>Container1</div> 
    <table class="heading"> 
    <tr> 
     <td>heading2</td> 
     <td><img alt='min'/><img alt='max'/></td> 
     </tr> 
    </table> 
    <div class='container'>Container2</div> 
    <table class="heading"> 
    <tr> 
     <td>heading3</td> 
     <td><img alt='min'/><img alt='max'/></td> 
    </tr> 
    </table> 
    <div class='container'>Container3</div> 
</body> 
</html> 
+0

什麼是你想達到什麼目的?代碼目前沒什麼意義 – Pharabus 2010-03-01 15:36:13

+0

@all:請花時間,如果您在答案中編寫代碼,請正確執行此操作!如果你在19秒內回答問題而沒有檢查你的代碼,這對任何人都沒有幫助。 (然後你的母親的電話或你的筆記本電腦開始燃燒,代碼不可用...) – Boldewyn 2010-03-01 15:41:30

+0

@Boldewyn - 請將您的意見放在適當的地方。如果在一個人的答案中出現一個小錯誤,那麼請評論該答案。沒有必要作出廣泛的宣佈,以所有。 – user113716 2010-03-01 15:51:50

回答

7

您需要使用屬性選擇不獲取屬性和進行比較。

$(document).ready(function(){ 
    $("img[alt='minimize']").click(function(){ 
     alert("he"); 
    }); 
}); 
+0

不要爲了回答速度而犧牲無差錯代碼! -1 – Boldewyn 2010-03-01 15:38:29

+3

@Boldewyn - 恰恰你認爲錯誤是什麼?包含單引號?你知道,如果替代文字包含空格,他們將是必要的,不是嗎? – tvanfosson 2010-03-01 15:41:29

+0

您是否編輯了中間的答案?在第一版中,我看到了秒。 51在提出問題後,還有第二個雙引號缺失(像這樣:'$(「img [alt ='minimize'])') – Boldewyn 2010-03-01 15:43:51

4
$(document).ready(function(){ 
    $("img[alt='minimize']").click(function(){ 
     alert("he"); 
    }); 
}); 

編輯

$(function() { 
    $('img[alt='min'], img[alt='max']').click(function() { 
     var container = $(this).parent('table').next('div.container'); 

     if ($(this).attr('alt') == 'min') 
      container.slideUp('slow'); 

     if ($(this).attr('alt') == 'max') 
      container.slideDown('slow'); 

     return false; 
    }); 

    $('table.heading:not(:first)').click(function() { 
     $(this).next('div.container').slideToggle('slow'); 

     return false; 
    }); 
}); 
+0

不要爲了回答速度而犧牲無差錯代碼! -1 – Boldewyn 2010-03-01 15:37:55

1

它在語法上不正確。你想做什麼?也許這個?

$(document).ready(function(){ 
    $("img[alt=minimize]").click(function(){ 
    alert("he"); 
    }); 
}); 
+0

啊!第一個花時間寫錯誤的人。 +1 – Boldewyn 2010-03-01 15:39:27

2

alt屬性不是過濾圖像的方法。它被設計爲當圖像不能被顯示(找不到,用戶不需要,沒有屏幕等)時替換內容。

您應該改爲使用class屬性以您想要的方式區分圖像。然後

您的代碼就變成了:

HTML

<img src="..." class="minimize" alt="A beautiful image"> 

的Javascript

$(document).ready(function(){ 
    $("img.minimize").click(function(){ 
     alert("he"); 
    }); 
}); 
+0

+1雖然沒有直接回答這個問題,但這是一個很好的觀點。一般來說,類可以是一種更好的方式來處理它,但我可以想象你可能想要在「alt」上選擇的情況 - 比如說,如果你想將alt文本轉換爲基於js的工具提示。 – tvanfosson 2010-03-01 15:49:20