2010-05-07 293 views
1

我對JQuery比較新。我試圖瞭解如何選擇一個子元素。目前,我有定義了一些HTML如下:JQuery - 元素選擇

<div id="elem1"> 
<div class="display">Student 1</div> 
</div> 

<div id="elem2"> 
    <div class="display">Student 2</div> 
</div> 

<div id="elem3"> 
    <div class="display">Student 3</div> 
</div> 

當用戶點擊鏈接時,元件中的一個(elem1,elem2時,或elem3)將要被傳遞到被定義爲一個功能如下:

function getNodeDisplay(node) { 
    // NOTE: This does not work as desired 
    return $(node).(#".display").html(); 
} 

不幸的是,這種方法不起作用。如何獲取與具有特定類或給定元素的元素關聯的HTML?感謝您的幫助!

回答

5

如何約

function getNodeDisplay(node) { 
    return $(node).find(".display").html(); 
} 

find函數在當前元素下搜索dom樹。

0

試試這個:

$(node).find(".display").html() 
0

你可以這樣說:

$("#elem1").click(function() { 
    $(this).children(".display") //this is the child 
}); 

.children()得到直接孩子,替代.find()發現任何後裔。如果您想在此單擊處理分配給所有這些元素,只是給他們一個類,以及這樣的:

<div id="elem1" class="clickMe"> 

,改變你的選擇使用它,就像這樣:

$(".clickMe").click(function() { 
    $(this).children(".display") //this is the child 
}); 
1

您可以將點擊事件時,頁面加載,並通過jQuery對象直接到你的方法:

$(document).ready(function() { 
    $("div#elem*").each(function() { 
    $(this).click(function() { 
     getNodeDisplay($this); 
    }; 
    }; 
}); 

DIV#ELEM *將匹配與ID(#)所有的div元素開頭ELEM。

來獲取HTML:

function getNodeDisplay(node) 
{ 
    return node.html(); 
}