0

どうすればこれを回すことができますか:

<a class="link">
   <p class="paragraph">This is some text</p>
   <p class="paragraph">This is some more text</p>
   <p class="paragraph">And some more</p>
</a>

これに:

<a class="link">
   This is some text This is some more text And some more
</a>

jQueryで。追加とマージを使用してみましたが、わかりません。

4

3 に答える 3

5

このtextメソッドは要素とその子孫のテキスト コンテンツを返すため、次のように使用できます。

var link = $("a.link");
link.text(link.text());​​​​​​​​​

ドキュメントから:

子孫を含む、一致した要素のセット内の各要素の結合されたテキスト コンテンツを取得します。

これが実際のです。

更新(コメントを参照)

これを複数の.link要素に適用する必要がある場合は、次を使用できますeach

$("a.link").each(function() {
    $(this).text($(this).text()); 
});
于 2012-04-04T21:31:45.187 に答える
4

これはうまくいきます:

$("a.link").text(function(i,text){
    return text;
});

さらに別の方法(テストされていません):

// you can optionally filter to
// only p elements too with
// .children("p")
$("a.link").children().contents().unwrap();

2 番目の別のバリエーションを次に示します。

$("a.link p").contents().unwrap();

編集:明確にするためのメモ:
これらのソリューションはすべて複数の要素で機能します。最初の解決策は、ほとんどの jQuery セッター関数で使用できる比較的一般的でない構文です。一致した各要素でコールバックを実行し、プロパティ/属性の値をコールバックから返された値に設定します。

于 2012-04-04T21:33:24.000 に答える
0

これを試して

    $(document).ready(function(){
      var concatText = "";

      $("p.paragraph").each(function(){
       concatText = concatText + " " + $(this).text() 
      });

        $("a.link").html(concatText);
​     });​
于 2012-04-04T21:33:19.930 に答える