2010-10-08 137 views
17

如何获取嵌套元素“4”?jquery嵌套选择器

我想:

var nights = $("div.nights h5 div.num").val(); 

和:

var nights = $("div.nights > h5 > div.num").val(); 

例如:

<div class="nights"> 
     <h5 class="biguns"> 
      <div class="num">4</div> 
      Nights 
     </h5> 
</div> 

回答

21

使用.text()这里,而不是像这样:

$("div.nights h5 div.num").text() 
//or this works too: 
$("div.nights > h5 > div.num").text() 
//or just 
$("div.num").text(); 

You can test it here,正如你在上面看到的,你的选择器是灵活的,使用什么对你的整体标记起作用。 .val()用于输入类型元素,例如<input>,<select>,<textarea>,<button> ...以获得任何其他元素内的文字,改为使用.text()

+0

啊,是的......我知道这是这么简单的东西我的脑子要爆炸。谢谢。 – holden 2010-10-08 12:33:43

2
$("div.nights div").text() 

但不

$("div.nights > div").text() 

因为 后代选择: 元素的后代可能是一个孩子,孙子,曾孙等,该元素的。 子选择器: 选择由“父”指定的元素的“子”指定的所有直接子元素。

参考child selector descendant selector