2011-03-25 66 views
0

最佳效果,你可以拨弄为例进行说明:http://jsfiddle.net/F4H46/jQuery的正则表达式使用麻烦.match

总结:

(一)jQuery脚本可以通过点击一个锚标记被解雇。

(B)期望的结果:得到以下的HREF id=?字符并保存到变量

(C)$(本)[0] 确实包含正确的href

(d)使用。匹配(正则表达式)剥离所需的字符创建一个404错误。

为什么404错误?如果相同的字符串是硬编码的,.match(正则表达式)可以很好地工作。

+0

显示一些代码? – lonesomeday 2011-03-25 22:41:32

回答

1
$("a").bind('click', function(e) { 
    e.preventDefault(); 
    var xxx = $(this).attr('href'); 
    alert(xxx); 
    var yyy = xxx.match(/\=(\d*)(\w*)/); 
    alert(yyy[0]); 
    alert(yyy[1]); 
    alert(yyy[2]); 
}); 
+0

谢谢 - 它完美地解决了它。 – user674073 2011-03-25 22:49:03

0

当你点击锚标记时,页面会自动改变页面的href,导致404页面不存在。点击锚标签后要做的第一件事是:e.preventDefault(),防止页面被重定向。

$("a").click(function(e){ 
    e.preventDefault(); 
    // rest of the code 
}); 
+0

哦对!我记得告诉自己不要忘记当读取api时preventDefault ... – user674073 2011-03-25 22:50:04

0

忧色这样的:

<script type="text/javascript"> 
$("a").click(function() 
{ var xxx = $(this).attr('href'); 
     alert(xxx); 
    var yyy = xxx.match(/\=(\d*)(\w*)/); 
    alert(yyy[0]); 
    alert(yyy[1]); 
    alert(yyy[2]); 
}); 
</script> 

这工作,不同的是,你需要使用attr('href');