JQuery - 元素选择

时间:2010-05-07 13:04:43

标签: jquery

我对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?谢谢你的帮助!

4 个答案:

答案 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
});