Javascript 如何通过jquery获取匹配id

Javascript 如何通过jquery获取匹配id,javascript,jquery,Javascript,Jquery,如何通过jquery获取匹配(id) 我想在(span)之间的(href)中获得(id) 如果代码 这里 HTML <table> <tr> <td class='zero'> <span> <a href="http//google&id=222.com">123</a> <a>hgi</a> </span> <span> <a

如何通过jquery获取匹配(id) 我想在(span)之间的(href)中获得(id)

如果代码 这里

HTML

<table>
<tr>
<td class='zero'>
  <span>
   <a href="http//google&id=222.com">123</a>
   <a>hgi</a>
  </span>
   <span>
   <a href="http//google&id=111.com">123</a>
   <a>hgi</a>
  </span>
   <span>
   <a href="http//google&id=333.com">123</a>
   <a>hgi</a>
  </span>

</td>
</tr>
</table>
$(".zero span").each(function(){
$(this).find("a").attr("href").match(/id=/);

});
但是错误>_< 为什么? 和 怎么做

我想要

id=222
id= 333
id= 111
你需要这个:

$(".zero span").each(function(){
   alert($(this).find("a").attr("href").match(/id=\d+/)[0]);
});
你试过了吗

$(this).find("a").attr("href").match(/id=.*/);
这将匹配id和后面的所有字符。

您的一些
元素没有
href
属性<在这种情况下,code>attr()将返回
undefined
。当试图调用
undefined
上的
match()
时,JavaScript会抛出一个错误

用以下方法修复它:

$(".zero span").each(function(){
    href = $(this).find("a").attr("href");
    if (href !== undefined) {
        href.match(/id=/);
    }
});
或者将选择器更改为包含
a[href]

外部:

$(".zero span a[href]").each(function(){
    $(this).attr("href").match(/id=/);        
});
内部:

$(".zero span").each(function(){
    $(this).find("a[href]").attr("href").match(/id=/);
});

如果它是动态生成的,为什么不直接使用一个实际的ID,也就是说,然后瞄准它呢?如果URL足够多样和复杂,您可能想尝试使用deparam函数,而不是编写自己的URL