2010-05-07 243 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(); 
}