0


0

「もっと」をハイパーリンクにしようとしていますが、最後の折り返しをまったく無視するようなものです。 私はそれが間違ってやっていると確信していますが、どうやって確信していません…​ 助けて?

$ j( '#> div [id ^ = "post  - "]')。each(function(){var sid = this.id.match(/ ^ post  - ([0-9])$ /); var sfimg = $ j(this).find( "img"); var sfhh = $ j(this).find( "h2"); var sfpt = $ j(this).find( "p:not(:has) (img)):eq(0) "); var more = 'more'; $ j(this).html(sfimg); $ j(sfimg).wrap($ j( '')。attr( 'href') 、 '/ blog /?p =' sid [1])); $ j(this).append(sfhh).append(sfpt); $ j(sfpt).wrap($ j( '')。attr( ' class '、' sfentry ')); $ j(this).append(' 'more' '); $ j(more).wrap($ j(' ')。attr(' href '、' / blog /?) p = 'sid [1]));});

2 Answer


0


なぜあなたは$ j(more)が何かにマッチすると期待するのですか?


0


あなたはjquery関数(あなたの場合は $ j())を使いすぎて、間違った順番でそれをしています。 また、(おそらく) `$(this).find( 'img')`は、例えば複数の要素を返すかもしれません…​ しかし、あなたのシナリオはよくわかりません。

これを試してみてください(完璧ではないかもしれませんが、正しい方向に傾いているはずです)。

$ j( '#> div [id ^ = "post  - "]')。each(function(){var sid = this.id.match(/ ^ post  - ([0-9])$ /); var sfimg = $ j(this).find( "img"); var sfhh = $ j(this).find( "h2"); var sfpt = $ j(this).find( "p:not(:has) (img)):eq(0) "); var more = 'more'; sfimg.wrap($ j( '')。attr( 'href'、 '/ blog /?p =' sid [1]))) ; $ j(this).html(sfimg); sfpt.wrap($ j( '')。attr( 'class'、 'sfentry')); //あなたは自分のh2に段落を追加することに気付いたと思いますタグ、そうでしょ? // * j(this).append(sfhh).end()。append(sfpt); //欲しいと思います。 * / $ j(this).append(sfhh).append(sfpt); $ j(this).append( '' more ''); $ j( '。morelink'、this).wrap($ j( '')。attr( 'href'、 '/ blog /?p =' sid [1])); ;));

そのコードにはあらゆる種類の狂ったことが起こっていました。 オブジェクトを別のオブジェクトに追加する前に、オブジェクトを変更する必要があることを忘れないでください(事実の後にそれらを識別するための独自の方法がない限り、 ID)。

がんばろう。