1

以下のコードfont:first内の要素の後のすべてのhtml要素を取得したいと思います。p

<p class="rrp">
    <font color="#ff6600">
        <strong>
            Save 20% on in-house Frames and Sunglasses
            <br>
            Save 10% on Contact Lens and Branded Frames
            <br>
            Ask at the counter for more details
        </strong>
    </font>
    <br>
    GKB Opticals, Shop No. EB-GF-10, Block East, Ground Floor, Town Centre - Amanora Mall, Amanora Park Township, Village Sadesatranali (17-1/2 Nali), Hadapsar, Taluka Haveli,
    <br>Pune - 411 028.
    <br>
    <font color="#339900">Validity:</font>
     31st March 2013
</p>​

したがって、結果は次のようになります

<br>
GKB Opticals, Shop No. EB-GF-10, Block East, Ground Floor, Town Centre - Amanora Mall, Amanora Park Township, Village Sadesatranali (17-1/2 Nali), Hadapsar, Taluka Haveli,
<br>Pune - 411 028.
<br>
<font color="#339900">Validity:</font>
 31st March 2013

私が行ったコードをいくつか提供する必要がありますが、特定の要素の後に要素をフェッチする方法がわかりません。

誰かが私を案内してもらえますか?ありがとう!

4

5 に答える 5

2

nextAll要素の後続のすべての兄弟を選択するメソッドを使用できます。

$('.rrp font:first').nextAll()

最初のフォント要素を除外する場合は、メソッドを使用できますfilter

var $ff = $('.rrp font:first')
$('.rrp').contents().filter(function(){
    return !$(this).is($ff)
})

http://jsfiddle.net/c7VSY/

于 2012-10-04T10:56:50.823 に答える
0

ほとんどすべてのcssセレクターがjQueryでサポートされているため、兄弟後のセレクター、、の後~にすべてのセレクター、を使用できます*

$('.rrp font:first ~ *')
于 2012-10-04T10:59:27.483 に答える
0

使用することはできますが、他のコンテンツは 要素内のすべてのテキストを移動する必要があるため、他のコンテンツは選択されないため、$('.rrp font:first').nextAll() すべてが返さ<br>れます。<font color="#339900">Validity:</font><p>

変更されたhtml:

    <p class="rrp">
        <font color="#ff6600">
            <strong>
                Save 20% on in-house Frames and Sunglasses
                <br>
                Save 10% on Contact Lens and Branded Frames
                <br>
                Ask at the counter for more details
            </strong>
        </font>
        <br>
        <div>GKB Opticals, Shop No. EB-GF-10, Block East, Ground Floor, Town Centre - Amanora Mall, Amanora Park Township, Village Sadesatranali (17-1/2 Nali), Hadapsar, Taluka Haveli,
        <br>Pune - 411 028.
        <br>
 </div>
        <font color="#339900">Validity:</font>
         <div>31st March 2013</div>
    </p>​
于 2012-10-04T11:12:16.867 に答える
0

あなたがしたい.rrpのが最初のフォント要素と以前のすべてなしであなたのコンテンツのコピーを取得することであるならば、あなたはこれをすることができます:

var $rrp = $('.rrp').clone();
$rrp.find(':lt('+($rrp.find('font:first').index()+1)+')').remove();
var $rrpContent = $rrp.html();

$rrpこの場合、テキストノードも含まれます。

ただし、必要なコードは実際にはユースケースによって異なります。掃除用ですか?

于 2012-10-04T11:14:31.923 に答える
0

あなたはただ使うことができます:$('.rrp font:first').nextAll()。ただし、@ Shsulが言ったように、テキストだけでなく、タグで囲まれた要素のみが選択されます。

于 2012-10-04T11:32:07.240 に答える