Javascript jQuery:检查a href属性是否有效的简单方法
我正在寻找一个非常简单的方法来检查当有人点击一个链接,它是有效的 好Javascript jQuery:检查a href属性是否有效的简单方法,javascript,jquery,validation,Javascript,Jquery,Validation,我正在寻找一个非常简单的方法来检查当有人点击一个链接,它是有效的 好 坏的: 只需检查href值: $('a').click(function(){ var bad = this.href.lastIndexOf('#') >= 0 || this.href.indexOf('javascript') >= 0; alert(bad ? 'Bad' : 'Good'); return false; }); 没有真正“简单”的方法,您必须获得href的值,然后像这样对
坏的:
只需检查
href
值:
$('a').click(function(){
var bad = this.href.lastIndexOf('#') >= 0 || this.href.indexOf('javascript') >= 0;
alert(bad ? 'Bad' : 'Good');
return false;
});
没有真正“简单”的方法,您必须获得href的值,然后像这样对其进行ajax调用:
var url = $('a').attr('href');
$.ajax({
url:url,
type:'HEAD',
error: function()
{
//file not exists
},
success: function()
{
//file exists
}
});
对您的特定格式使用regex是的,但我在检查完整url的模式中找到的所有内容,包括“.”,这对index.html:-)之类的url不起作用(没有找到任何用于此的模式是的)很好,但在使用#或javascript:void(0)时会给出一个真值和假值,然后使用它?)您还没有指定输出应该是什么,但只是想验证itAh这是完美的,没有那么简单,但它可以做到,谢谢!!但是在这段代码中,
在this.href.lastIndexOf('#')>=0
和this.href.indexOf('javascript')>=0
中是无效的,但我认为这应该是有效的。。。不
$('a').click(function(){
var bad = this.href.lastIndexOf('#') >= 0 || this.href.indexOf('javascript') >= 0;
alert(bad ? 'Bad' : 'Good');
return false;
});
var url = $('a').attr('href');
$.ajax({
url:url,
type:'HEAD',
error: function()
{
//file not exists
},
success: function()
{
//file exists
}
});