我对JQuery比较陌生。我试图了解如何选择子元素。目前,我有一些HTML定义如下:
<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?谢谢你的帮助!
答案 0 :(得分:5)
怎么样
function getNodeDisplay(node) {
return $(node).find(".display").html();
}
find函数在当前元素下搜索dom树。
答案 1 :(得分:1)
您可以在加载页面时附加click事件,并将jQuery对象直接传递给您的方法:
$(document).ready(function() {
$("div#elem*").each(function() {
$(this).click(function() {
getNodeDisplay($this);
};
};
});
div#elem *将匹配所有div元素,ID(#)以elem开头。
获取html:
function getNodeDisplay(node)
{
return node.html();
}
答案 2 :(得分:0)
试试这个:
$(node).find(".display").html()
答案 3 :(得分: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
});