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>

列表项可以按任何顺序排列,因此唯一可以使用的组件是作者的实际姓名字符串,或作者页面的链接路径。

请记住,该节点有时会在单个页面上的多个 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 回答