使用jQuery搜索HTML表格

3

我有一个表格并需要特定行中的特定列。

<tr></tr>
<tr>
    <td></td>
    <td></td>
    <td class="important_column"><a href="/bla/blah/link">IMPORTANT INFO</a></td>
    <td></td>
    <td class="need_link_here"><a href="/I/WANT/THIS/LINK/">link</a></td>
</tr>
<tr></tr>

如果“important_column”中的链接文本等于我正在查找的内容。获取“need link_here”列中的链接文本,即在<a></a>之间的文本。
如何使用jQuery实现?

解决方案的一部分:您可以使用以下方法在链接中搜索文本:https://dev59.com/dHNA5IYBdhLWcg3whuV_ - Peter Jaric
我认为“链接文本”这个词在这里有些混淆。你是指href属性还是<a></a>内部的文本? - dzida
抱歉如果我让你感到困惑,我指的是<a></a>内部的文本。 - heffaklump
7个回答

4

+1 因为这是目前唯一一个没有使用 important_column 和 need_link_here 类的答案,我怀疑在实际情况中也不会出现这些类。 - Peter Jaric
糟糕,我搞错了,important_column确实被使用了。 - Peter Jaric
2
@snowlord:是的,但不一定需要。这里的代码即使没有它也能正常工作。实际上,我刚刚编辑了答案和示例,这样你就会觉得你的+1是有道理的;-) - Andy E

1
if ($("table tr td.important_column a[href=/bla/blah/link]").length) {
   var link = $("table tr td.need_link_here a").attr("href");
}

变量

$("td.need_link_here a", $("table tr td.important_column a[href=/bla/blah/link]").closest(tr)).attr("href");

1

以下是能够解决问题的 JavaScript 代码片段:

if($('.important_column a').text() == 'SOME TEXT YOU WANT')
{
   $('.important_column a').attr('href', $('.need_link_here a').attr('href'));
}

1

像这样吗?

$(function() {
  column_text = $(".important_column a").text();
  if(column_text == "IMPORTANT INFO") {
    link_href = $(".need_link_here a").attr("href");
    alert(link_href);
  }
});

请查看这个工作演示


1

真的不清楚OP想要什么。这个接近吗?

$('#myTable tr').each(function ()
{
    var $tr = $(this);
    if($tr.find('td.important_column').text() === 'IMPORTANT INFO')
    {
        alert($tr.find('td.need_link_here > a').attr('href'))
    }
});

0
jQuery('.need_link_here a',
    jQuery('.important_column a:contains(IMPORTANT INFO)').parent() 
).attr('href');

OP 写道:“如果 'important_column' 中的链接文本等于我要查找的内容”,但你只看了类名。 - Peter Jaric
@jAndy:那是一个非常模糊的批评(没有提出为什么它是“可怕的”或者可以如何改进)。 - Quentin

0

您可以使用下一个方法来获取找到的项的兄弟节点:

$('.important_column').next().next().attr("href")

将选择具有class="important_column"的td元素之后第2个td元素的href


  1. 假设类不重要。
  2. 不检查文本。
  3. 尝试获取TD元素的href属性的值。
- Quentin
@David Dorward:“need_link_here”不在实际页面中显然是非常明显的,如果它存在的话,那就太简单了... - Peter Jaric
@snowlord:不,这并不明显,这个问题可以有很多种解释。甚至不清楚是否会出现“important_column”类。 - Quentin

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