2

これは難しいかもしれません... 私は Drupal サイトを持っており、ノードのメイン DIV 内の特定のポイントからタイトル文字列をコピーし、作成者のリンクの直後にタイトルをプレーン テキストとして追加する方法を見つける必要があります。以下は、ノードのセットアップ例です。

<div id="node-19435" class="node"><div class="meta">

<div class="submitted">
<span class="authors">
  <a href="/authors/john_doe">John Doe</a> Copied Title Here surrounded by new span
</span>
</div>

<div class="terms">
  <ul class="links inline">
  <li><a href="/headlines" title="he">Headlines</a></li>
  <li><a href="/authors/john_doe" title="Original Title Is Here">John Doe</a></li>
  </ul>
</div>

</div></div>

リスト項目は任意の順序である可能性があるため、使用できる唯一のコンポーネントは、作成者の実際の名前の文字列、または作成者のページへのリンクのパスです。

ノードは 1 ページの複数の div.node div で繰り返される場合があり、見つかった各 div.node 内で同じことを行う必要があることに注意してください。ご協力ありがとうございました。私はこれについて何日も頭を悩ませてきましたが、あなたのすべての専門家の回答を見て、私が言うことができるより頻繁に私にインスピレーションを与えました.

これを行うための優れた JQuery ソリューションを見つけるのを手伝ってください。

4

1 に答える 1

0

私があなたの問題を正しく理解していれば、あなたはこのようなことをしようとしていると思いますよね?

$('div.meta').each(function(){

   var titlelink = $('div.terms li a[href^="/authors/"]', this);
   var span = $('<span />', { text: titlelink.attr('title') });
   $('span.authors a[href="' + titlelink.attr('href') + '"]', this).after(span);

});

div.meta ブロック内のリンクを一致させる唯一の方法は、"/authors" で始まるリンクの URL によるものだと思います。

于 2012-05-17T04:11:34.910 に答える