-2

我在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
4

5 回答 5

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

医疗器械网络:String.match

现场演示:http://jsfiddle.net/zBspF/

于 2013-01-02T21:58:54.557 回答
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() 函数的实现中借用的逻辑

于 2013-01-03T14:17:12.530 回答
0

attr()返回属性值,Ahref 字符串也是如此。$(A)然后会使用 href 字符串作为 jquery 选择器来查找节点——这肯定不是你想要做的。

我会将正则表达式匹配行更改为:

var B = A.match(/id=\d+/);
于 2013-01-02T22:54:16.707 回答
0

这是一个有点hacky的方法

var B= "id="+A.split("&id=")[1].split("&")[0];

js小提琴:http: //jsfiddle.net/uGrPT/

于 2013-01-02T22:00:29.303 回答
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)
   })
});  

jsfiddle

于 2013-01-02T22:07:17.927 回答