2013-03-15 37 views
2

我有幾個box =「big_square」的框 它們都有一些ID,它們是通過一些Java調用Oracle數據庫動態生成的 基於點擊它,我想獲得特定元素的ID,並返回它作爲下一次調用使用點擊的類來查找div的ID

這裏的變量是HTML:

<DIV style="DISPLAY: block" id=big_square_container> 
<DIV id="2" class=big_square></DIV> 
<DIV id="3" class=big_square></DIV> 
<DIV id="4" class=big_square></DIV> 
<DIV id="5" class=big_square></DIV> 
<DIV id="6" class=big_square></DIV></DIV> 
</DIV> 

,並與我試圖找到ID jquery的:

$(".big_square").click(function(){ 
    $(".big_square").animate({opacity: .4}, 'fast', 'linear', function() { 
     }); 
    $(this).animate({opacity: 1}, 'fast', 'linear', function() { 
     }); 
    var x = $(this).getElementbyID(); 
    console.log(x); 
    response.setAttribute("x",x); 
}); 

我猜測程序並不知道當我引用一個類時什麼「this」是什麼,但它仍然應該做一些事情,比如在每個.big_square上執行內部代碼,這裏沒有任何事情發生。任何幫助表示讚賞。

+0

請記住,ID不能只是數字。要麼添加字母數字ID或只使用字母。 – 2013-03-15 15:33:56

+0

@RobinvanBaalen在HTML5規範中不適用。 – 2013-03-15 15:34:26

+0

它們可以是具有html5文檔類型的數字,但爲了解決問題,我也只是將它們用作通用佔位符。 – Deprecated 2013-03-15 15:36:11

回答

6

這聽起來像你只是想找到在點擊回調中點擊的值的id。如果是這樣,請使用以下內容。

var id = $(this).attr('id'); 

編輯

作爲一對夫婦的人都注意到,你也可以直接避免jQuery的乾脆在這裏做這是一個有點更高性能的

var id = this.id; 
+0

作爲安東尼克里斯特在另一個答案中說,你可以做這個.id,這是一個更高性能。 – 2013-03-15 15:59:40

+0

謝謝,這將返回輸入ID的ID,但是,如果我按類引用div集,它仍然不會找到我單擊的那個。 – Deprecated 2013-03-15 19:05:05

3

替換爲var x = $(this).getElementbyID();如下:

var x = $(this).attr("id"); 

document.getElementById(「yourId」)用於當您想要通過已知ID檢索dom元素時使用。

+3

或者只是'this.id' - 儘可能直接訪問屬性。 – 2013-03-15 15:34:10

+0

謝謝,這將返回輸入ID的ID,但是,如果我按類引用div集,它仍然不會找到我單擊的那個。 – Deprecated 2013-03-15 19:04:36