0

我有一个包含多个表格行的页面。每行包含几个链接。我正在尝试专门获取一些链接,并使用 jquery 在新窗口中打开它们。页面代码如下所示:

<tr>
  <td colspan="3" width="122" valign="top" height="100">

    <font class="verds1">
      <a href="esignup.php?eSessID=12871419" 
        title="Breakfast-650944"><font color="#4F4F4F"><b>Breakfast-650944</b></font></a>
      <br><br style="line-height: 7px"></font>

    <font class="verds1">
      <a href="esignup.php?eSessID=12873457"
        title="Lunch-654335"><font color="#FF0000"><b>Lunch-654335</b></font></a>
      <br><br style="line-height: 7px"></font>
      <font class="verds1" color="#000000"><b>f-</b></font>

    <font class="verds1">
      <a href="esignup.php?eSessID=1287141"
        title="Dinner-651092"><font color="#4F4F4F"><b>Dinner-651092</b></font></a>
      <br><br style="line-height: 7px"></font>

    <font class="verds1">
      <a href="esignup.php?eSessID=1282131"
        title="Dinner-651222"><font color="#4F4F4F"><b>Dinner-651222</b></font></a>
      <br><br style="line-height: 7px"></font>

  </td>
<tr>

在上面的示例中,我希望仅定位标题包含单词“Dinner”的链接,因为它后面的数字会有所不同。这里有两个符合这个标准,但一个页面可能有 5 个或 6 个。我猜我必须把它们放在一个数组中。

我的问题是:

如何仅从标题中带有“晚餐”的链接中获取网址?

如何为每个网址打开一个新选项卡/窗口?

我对如何定位特定链接有一个很好的想法,我一直在 firebug 上对其进行测试。

var link = $('td').find('a').filter(':contains("Dinner")');
console.log(link);

然而,此时它只返回给我“Dinner-651222”的实际文本,而不是 url。它只返回一个结果,而不是文档包含的多个结果。

对此的任何帮助将不胜感激。谢谢!

4

2 回答 2

1

你可以试试这个:

// get all a tag who have Dinner
var link = $('td').find('a').filter(':contains("Dinner")');
// get length of a
var linkLength = link.length;
// parse one by one and get URl from a tag
for (var i = 0; i < linkLength; i++) {
    // here is you all url
    var linkURL = $(link[i]).attr('href');
    // open each link in new window with custom settings
    var winOption = 'toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no,width=400,height=300';
    window.open('http://localhost/mysite/' + linkURL, 'MyWindow', winOption);
    // end
};
于 2013-06-13T08:42:10.390 回答
0

关于第二个问题。据我所知,您无法使用 Javascript 打开新标签页。您可以做的最好的事情是打开一个新窗口,根据浏览器配置,它将打开一个新选项卡,或者只是阻止它。

因此,要打开一个新窗口,您可以使用:

<script>
    window.open("http://www.google.com", "google"); 
</script>
于 2013-06-13T08:33:33.207 回答