查找:变量值不匹配

Find: Variable value not Matching

我正在使用这个变量来获得一个或多个与我需要的相匹配的值。

var mail = $("#dat").contents().find("td:contains('" + name + "')" ).siblings("td:nth-child(2)").map(function() { return $(this).text(); }).get();

我的数据看起来像这样:

<tr><td> Name Second-Name </td><td>Email</td></tr>
<tr><td> Name Second-Name </td><td>Email 2</td></tr>
<tr><td> Name Second-Name Third-Name </td><td>Email 3</td></tr>

当我使用 Name Second-Name 作为 name 值时,此变量 returns EmailEmail 2Email 3,即使 Third-Name 在最后 table 行中。我需要的是一个只有 returns EmailEmail 2 的变量,忽略最后一行 - 我有另一个名字。

我该怎么做?谢谢!

试试这个:

var name = " Name Second-Name ";
var mail = $('td').filter(function(index) { return $(this).text() === name }).siblings("td:nth-child(2)").map(function() { return $(this).text(); }).get();

Fiddle: http://jsfiddle.net/ksL6opd7