-1

ドキュメント上の要素を選択するためにselectorgadgetを使用しています。しかし、jQueryで使用すると機能しません。nth-child セレクターが機能しないようです。

<div id = "wrap">
<div class = "book">
    <div class = "chapter">
        <p class = "text">
            <table>
                <tbody>
                    <tr>
                        <td>Title</td>
                        <td>
                            <b>jQuery</b>
                        </td>
                    </tr>
                </tbody>
            </table>
        <p>
    </div>
</div>
</div>

HTMLは上にあります。ブッククラスが多い。div ラップは、それらすべてを囲むラッパーです。Selector Gadget は、使用すると次のように述べています。

$("#wrap tr:nth-child(1) b")<b>タグを含む TD 要素を選択する必要があります。したがって、「jQuery」を選択する必要があります。

試してみましたが、うまくいきませんでした。私が試したとき:

var query = $("#wrap tr:nth-child(1) b").text();
alert(query);

ブラウザは、テキストなしでアラートを送信します。そして、私が試したとき:

var query = $("#wrap tr:nth-child(1) b").html();
alert(query);

ブラウザは NULL アラートを送信します。

どうしたの?

4

5 に答える 5

2

私はFF 3.0.10、jQuery 1.3.2、グリースモンキー0.8.2でこれを試しました

var query = $("#wrap tr:nth-child(2) b").text();
returns "jQuery"

nth-child() の 2 がうまくいきます!! n 番目の子のインデックスは 0 ではなく 1 から始まります

于 2009-05-14T02:37:46.180 に答える
0

nth-child(2)が必要です、:nth-​​child(1)がタイトルを選択します。:eqは0ベースであり、:nth-​​child()は1ベースであることに注意してください。紛らわしい!

于 2009-05-14T03:39:32.367 に答える
0

やってみました

変更されました。最初は tr:nth-child に気づきませんでした。そのテーブルには 1 つの子 tr はありませんが、インデックス 1 に td があります。

var query = $(".text td:nth-child(1) b").html();
alert(query);
于 2009-05-14T01:54:37.190 に答える
0

サンプルを Firefox 3 および IE8 でテストしたところ、セレクターを使用して期待どおりのテキストを取得できました。

<table id="wrap">

それが追加されると、セレクターは問題なく機能するように見えました。問題が発生している特定のプラットフォームはありますか?

于 2009-05-14T02:08:25.097 に答える
0

サンプルコードを試してみたところ、すぐに機能しました。jQuery のどのバージョンを使用していますか? 1.3.2で動作します

これが実際の例です: http://jsbin.com/uzuzu/edit

于 2009-05-14T02:16:09.510 に答える