Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能找到一些链接_Javascript_Jquery - Fatal编程技术网

Javascript 我怎样才能找到一些链接

Javascript 我怎样才能找到一些链接,javascript,jquery,Javascript,Jquery,我在jquery中遇到了一些问题 我有一个问题,这是我如何可以得到一些链接的数字 我只想坐在桌子上 id=1293399 id=609876 id=6789234 id=3421 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=

我在jquery中遇到了一些问题

我有一个问题,这是我如何可以得到一些链接的数字

我只想坐在桌子上

id=1293399
id=609876
id=6789234
id=3421
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> 
MDN:


现场演示:

这里有一个略显粗糙的方法

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

$(函数(){
$('a')。每个(函数(){
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('
')//append to body //警报(id) }) });

attr()
返回属性值,因此
A
是href字符串
$(A)
然后将使用href字符串作为jquery选择器查找节点——当然这不是您想要做的

我会将regexp匹配行更改为:

var B = A.match(/id=\d+/);

下面是另一个不依赖于位置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];
}​
小提琴:

注意:
从中给出的gup()函数的实现中借用的逻辑代码的当前结果是什么?如果要从
match()
中获取结果数组,是否需要
g
标志?确定。我相信一个虚假的网络教程。@LarsH-
.match
根据MDN,默认情况下总是会返回一个数组。谢谢,引用很有帮助。很好..简洁明了+1为什么要投反对票?mid解释?此解决方案仅在id是第一个查询参数时有效。。如果ID位于无人喜欢的其他位置,则将失败。
.match
。。。当然,这就是为什么我没有投反对票,但这是硬编码,不是一个很好的解决方案。@Derek,我使用了
match()
(与您的答案无关)。很有趣,尽管我相信在
id
查询参数第一个的情况下(不太可能?)它会失败。例如,在
href中=“/inedx.php?id=1293399&form=11732&……
@LarsH fair comment。我在下面添加了另一个解决方案来处理这个问题。限制:这将匹配第一个查询参数的某些部分,其名称以
id
结尾,其值以数字开头。因此,如果您有
…?pid=26hrumph&userid=bar&id=938
,则结果将是
id=26
+1,以便进行可靠的查询参数匹配,并用于引用。:-)
var B = A.match(/id=\d+/);
$(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];
}​