0

私は以下の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そして、次のようにして、 with id of: の下にあるスパンのテキスト値を取得しようとしていますWebPartTitleWPQ2:

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

SOspans.lengthは常に 0 です。

私は何を間違っていますか?

編集

やっている

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

2 つの値が返されますが、どちらもblank

4

3 に答える 3

8
$('#WebPartTitleWPQ2 span').eq(1).text()
于 2012-04-19T20:55:30.307 に答える
6

$(selector).children()選択したタグの直接の子のみを返します。さらに下のものを探すには、次のいずれかを使用できます

$(selector).find(descendantSelector)

または、あなたの場合、

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

編集: 2 番目/ネストされたスパンが表示されませんでした。これらのいずれかが機能するはずです。 JSFiddle

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

また

$('#WebPartCaptionWPQ2').parent().text();
于 2012-04-19T20:56:27.913 に答える
0
$('#WebPartTitleWPQ2').find('span').html();

これにより、このアイテムの後の最初のスパンに含まれる HTML が取得されます。

編集:あなたが投稿したマークアップをもう一度見てみました-あなたのスパンにはIDがありますか、それとも最初のスパン内にネストされた別のスパンですか? そうでない場合は、マークアップが台無しになっています。

于 2012-04-19T20:57:53.413 に答える