Javascript 具有多个匹配项的Jquery查找

Javascript 具有多个匹配项的Jquery查找,javascript,jquery,find,Javascript,Jquery,Find,我正在使用Jquery在我的站点中查找用户的电子邮件,但我不知道如何才能找到同名用户的电子邮件 使用这段代码,我的变量只为字符串返回一个值 var mail = $("#dat").contents().find("td:contains('" + name + "')" ).siblings("td").eq(1).text(); 如何获取此find事件中匹配的所有字符串 谢谢 编辑:我的代码没有任何数据的HTML标记,我正在使用谷歌电子表格来获取值 假设有一张桌子,上面有: <tr&

我正在使用Jquery在我的站点中查找用户的电子邮件,但我不知道如何才能找到同名用户的电子邮件

使用这段代码,我的变量只为字符串返回一个值

var mail = $("#dat").contents().find("td:contains('" + name + "')" ).siblings("td").eq(1).text();
如何获取此
find
事件中匹配的所有字符串

谢谢

编辑:我的代码没有任何数据的HTML标记,我正在使用谷歌电子表格来获取值

假设有一张桌子,上面有:

<tr><td>Name 1</td><td>mail1</td></tr>
<tr><td>Name 2</td><td>mail2</td></tr>
<tr><td>Name 1</td><td>mail3</td></tr>
Name 1邮件1
姓名2邮箱2
姓名1邮箱3

如果我使用包含“名称1”的
find
,我的变量应该返回
mail1,mail3

您应该稍微更改代码,以:

mail = $("#dat").contents().find("td:contains('" + name + "')" ).next().text();

选中demo-

要获取所有匹配行的第二列,请使用第n个子行

要获取数组中的所有值,可以使用
map()
get()

var name='name 1';
var mail=$(“#dat”).contents()
.find(“td:contains(“+name+”)”)
.兄弟姐妹(“td:N个孩子(2)”)
.map(函数(){
返回$(this.text();
}).get()
document.body.innerHTML=''+JSON.stringify(mail,0,4)+''

姓名1邮箱1
姓名2邮箱2
姓名1邮箱3

你能添加一些html示例吗?在不知道结构的情况下是不可能帮助你的。显示那些用户名显示的html标记我正在使用Google电子表格获取值
。兄弟姐妹(“td:nth child(2)”).map(function(){return$(this).text();}.get()
编辑帖子。adeneo,此代码返回空值。谢谢你的帮助!我无法删除等式(1)。我在谷歌电子表格中得到这些值,等式(1)返回一列的值。我需要重复这个函数,并在另一行的同一列中获取值(如果匹配)。谢谢,Nikolay,我正在尝试删除eq(1),但我的电子表格不止有两列,我只需要第二列中的值,Google不允许我编辑HTML为每列添加不同的类。你能解释一下0,4 inside JSON.stringify?@ZecaNovaes-该行只是将结果输出到正文,这样您就可以看到在单击“run snippet”按钮时发生了什么,这并不重要,但0和4只是
strinigfy()
函数的参数,其中
0
是“replacer”,一个替换,其中我传递
0
,因为它没有被使用,然后
4
是格式化数组的JSON表示时要使用的空格数。