我有以下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
答案 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,或者是你的第一个跨度中嵌套的另一个跨度?如果不是你的标记搞砸了。