使用jQuery为生成的新链接添加链接文本

3

对SO(Stack Overflow)新手来说…基本上,我有一个链接表,在该表中,我正在尝试使用jQuery在表格单元格内现有文本下附加其他链接。我已经接近成功,但我正在尝试弄清楚如何仅使每个单元格内的链接文本单独填充,而不是将每个链接都塞进一个创建的链接中。为了说明这一点,这是我的通用代码:

<table border="1">
  <tr>
    <td><a href="#">Building1</a><br />
555 Main st.<br />
Anytown, USA 02767<br />
(555) 555-5555
    </td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
  </tr>
  <tr>
    <td><a href="#">Building2</a><br />
556 Main st.<br />
Anytown, USA 02767<br />
(555) 555-5556
    </td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
  </tr>
  <tr>
    <td><a href="#">Building3</a><br />
557 Main st.<br />
Anytown, USA 02767<br />
(555) 555-5557
    </td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
    <td>Placeholder text</td>
  </tr>
</table>

然后这是我的jquery:

var test1 = $('table tr td:first-child:contains(",") a').text();
$('table tr td:first-child:contains(",")').append('<br /><a href="https://www.moreinfo.com/search?find_desc=' + test1 + '&find_loc=blahblah">Link</a>');

我尝试了各种方法,认为需要在某个地方使用.each,但更有经验的帮助将不胜感激。这是我创建的一个示例 https://jsfiddle.net/roz2uL4e/,可能会让问题更加清晰。


你所说的每个链接都被塞进一个单独创建的链接是什么意思?你的JSfiddle示例是最终想要的样子吗? - Souritra Das Gupta
如果我们更清楚地了解您面临的挑战,我们将能够更好地回答您的问题。您是想找出如何循环遍历表中的所有单元格吗? - Souritra Das Gupta
根据我的fiddle,我基本上是在尝试(代码中所述为“find_desc=”),当前它解析为“find_desc=building1building2building3”,我想让它成为“find_desc=building1”,然后在下一行中是“find_desc=building2”,以此类推。 - TurboRogue
1个回答

1
你需要使用.each()方法迭代遍历你的单元格:
$('table tr td:first-child:contains(",")').each(
  function(){
    var test1 = $(this).find("a").text();
    $(this).append('<br /><a href="https://www.moreinfo.com/search?find_desc=' + test1 + '&find_loc=blahblah">Link</a>');
  }
);

就是这样了...我知道它与使用每个迭代有关,但是我却无法让所有的部分一起正常工作!非常感谢你的帮助,Brahma。 - TurboRogue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接