2011-02-17 29 views
2

我有一個包含鏈接的列的表。列每個單元包含兩個鏈接:jQuery:如何響應特定類的定位標記的點擊事件?

  • 視圖
  • 發揮

當我點擊「播放」鏈接,我想顯示一個警告框。我已分配所有的遊戲環節同一類「玩」

我的劇本看起來是這樣的:

$(document).ready(function(){ 
    $('a.play').click(function(){ 
     alert('I was clicked'); 
    }); 
}); 

我知道上面不會工作的腳本,因爲該表達式匹配一個以上的元素。不過,我已經嘗試過幾乎所有的東西,包括使用$(this)嘗試訪問單擊的元素 - 仍然無效。我需要做些什麼才能讓a.play鏈接在點擊時彈出提示?

順便說一句,如果我在FF控制檯中鍵入$('a.play'),元素被正確選中,所以我知道我的選擇器是正確的。

[編輯]

在上面的片段更正拼寫錯誤。從目前爲止的評論看來,上面的代碼應該可以工作。接下來是一些進一步的細節。我儘量保持簡單,以防止人們被可能的紅鯡魚分心,但似乎需要進一步的信息 - 因爲可能會在頁面上使用的一些插件(即使沒有報告的錯誤/警告)。

所以這裏有雲:

我現在用的是DataTables plugin創建一個排序,分頁表中。在表格的其中一列中,單元格包含「查看」和「播放」鏈接。當選擇「播放」鏈接時,我想顯示一個模式表單,我可以使用它來從用戶收集信息。我正在使用jQuery UI插件,並使用代碼here的幾乎逐字副本(僅用於測試概念)。

所以,我試圖做的是這樣的:

  1. 單擊鏈接:$(「a.play」)選擇元素都能正常
  2. 顯示模式窗體時的任何一個'播放' 鏈接,選擇
+0

這應該有效。你試過了嗎? – Dogbert 2011-02-17 23:47:28

回答

3

你錯過收盤在document後10。

// ----v-------------------was missing 
$(document).ready(function(){ 
    $('a.play').click(function(event){ 
     event.preventDefault(); // <---------you may want this to stop the link 
     alert('I was clicked'); //       from being followed 
     return false; // <---------or this if you want to prevent bubbling as well 
    }); 
}); 

例子:http://jsfiddle.net/Cz44v/

0

嘗試:

$(document.ready(function(){ 
    $('a .play').click(function(){ 
     alert('I was clicked'); 
    }); 
}); 
0

將這工作

Demo

HTML

<a class="play" href="#1">Play1</a> 
<a class="play" href="#2">Play2</a> 
<a class="play" href="#3">Play3</a> 
<a class="play" href="#4">Play4</a>​ 

Javascript

$(document).ready(function() { 

    $('a.play').click(function() { 
     alert('I was clicked ' + $(this).attr("href")); 
    }); 
});​ 
相關問題