选择孩子

时间:2012-04-19 20:51:17

标签: jquery html-table

我有以下html结构:

<td title="Test Info - Displays another Web page on this Web page. The other Web page is presented in an IFrame." class="ms-WPHeaderTd" id="WebPartTitleWPQ2">
  <h3 class="ms-standardheader ms-WPTitle" style="width: 778px; text-align: justify; overflow:  hidden; text-overflow: ellipsis;" name="MSOFixedWidthTitle" fixedWidth="800px">
     <nobr>
        <span>
         Text - I want this text           
           <span id="WebPartCaptionWPQ2"/>

所以我试图通过执行下一步来获取范围为td且范围为WebPartTitleWPQ2的跨度的文本值:

var spans =  $("#WebPartTitleWPQ2").children("span")

那么spans.length总是为0。

我做错了什么?

修改

  $("#WebPartTitleWPQ2").find("span").text()

导致返回两个值均为blank

的值

3 个答案:

答案 0 :(得分:8)

$('#WebPartTitleWPQ2 span').eq(1).text()

答案 1 :(得分:6)

$(selector).children()仅返回所选标记的直接子项。要查找更深层次的内容,您可以使用

$(selector).find(descendantSelector)

或者,在您的情况下,

$('#WebPartTitleWPQ2').find('span')
编辑:没有看到第二个/嵌套跨度。这些都应该有效。 JSFiddle

$('#WebPartTitleWPQ2').find('span').eq(0).text();

$('#WebPartCaptionWPQ2').parent().text();

答案 2 :(得分:0)

$('#WebPartTitleWPQ2').find('span').html();

这应该在此项目后的第一个范围内包含HTML。

编辑:我刚看了你发布的标记 - 你的跨度是否有一个ID,或者是你的第一个跨度中嵌套的另一个跨度?如果不是你的标记搞砸了。