我在jquery中有一些问题
我遇到了一个问题,就是我如何能够获得一些链接
我只想从表中
id=1293399
id=609876
id=6789234
id=3421
以下链接
href="/inedx.php?form=11732&id=1293399&min=info_custom
href="/inedx.php?form=11732&id=609876&min=info_custom
href="/inedx.php?form=11732&id=6789234&min=info_custom
href="/inedx.php?form=11732&id=3421&min=info_custom
用这个实验, 但我无法正确使用它们
<script>
$(function(){
$("#ABC tr").each(function(){
var A = $(this).find('td:nth-child(1)').find('a').attr("href");
var B = $(A).match(/[\d]+/d);
alert(B);
});
});
</script>
<body>
<table id='ABC' border='2'>
<tr>
<td><a href='href="/inedx.php?form=11732&id=1293399&min=info_custom'>AAAy</a></td>
<td>BBB</td>
<td>CCC</td>
</tr>
<tr>
<td><a href='href="/inedx.php?form=11732&id=609876&min=info_custom'>AAAy</a></td>
<td>BBB</td>
<td>CCC</td>
</tr>
<tr>
<td><a href='href="/inedx.php?form=11732&id=6789234&min=info_custom'>AAAy</a></td>
<td>BBB</td>
<td>CCC</td>
</tr>
<tr>
<td><a href='href="/inedx.php?form=11732&id=3421&min=info_custom'>AAAy</a></td>
<td>BBB</td>
<td>CCC</td>
</tr>
</table>
</body>
我如何才能获得此
id=1293399
id=609876
id=6789234
id=3421
答案 0 :(得分:2)
var A = "...",
link = A,
num = link.match(/id=(\d+)/);
num[0]; //"id="+number
num[1]; //only number
var B = num[0];
//Hey I just met you,
//and this is crazy,
//But here's your B,
//so use it maybe. :D
MDN:String.match
答案 1 :(得分:1)
这是另一个不依赖于位置id参数的答案:
$(function() {
$("#ABC tr").each(function() {
var url = $(this).find('td:nth-child(1)').find('a').attr("href");
alert("id="+getURLParam("id", url));
});
});
function getURLParam(name, url) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(url);
if (results == null) return "";
else return results[1];
}
<强>小提琴:强> http://jsfiddle.net/44rFm/1/
注意:强> 从http://www.netlobo.com/url_query_string_javascript.html
中给出的gup()函数的实现中借用的逻辑答案 2 :(得分:0)
答案 3 :(得分:0)
$(function() {
$('a').each(function() {
var href = $(this).attr('href');
/*var id = href.substring(href.indexOf('&') + 1, href.lastIndexOf('&'));*/
var id = href.match(/id=\d+/g);
$('body').append(id).append('<br>') //append to body
//alert(id)
})
});
答案 4 :(得分:0)
attr()
返回属性值,因此A
是href字符串。然后$(A)
将使用href字符串作为jquery选择器来查找节点 - 当然这不是你想要做的。
我会将正则表达式匹配行更改为:
var B = A.match(/id=\d+/);