JQuery如果再使用URL解析器插件,必须有一个更优雅的解决方案!

前端之家收集整理的这篇文章主要介绍了JQuery如果再使用URL解析器插件,必须有一个更优雅的解决方案!前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是我在这个相当狡猾的网站上的第一篇文章,所以如果在其他地方已经讨论过这个问题,我会很容易(如果有的话我找不到它).

我正在使用这里找到的JQuery URL解析器插件http://projects.allmarkedup.com/jquery_url_parser/

我可以让它做我想要的但是代码效率很低.我有一个隐藏div的集合,在点击相关标题时打开.我正在使用URL解析器,以便如果从另一个页面单击链接,则相关的div是可见的.

我的代码看起来像这样:

if 
(jQuery.url.attr('anchor') == 'question1'){
    $('#answer1').show();
}
else if
(jQuery.url.attr('anchor') == 'question2'){
    $('#answer2').show();
}
else if
(jQuery.url.attr('anchor') == 'question3'){
    $('#answer3').show();
}
else if
(jQuery.url.attr('anchor') == 'question4'){
    $('#answer4').show();
}
else if
(jQuery.url.attr('anchor') == 'question5'){
    $('#answer5').show();
}
else if
(jQuery.url.attr('anchor') == 'question6'){
    $('#answer6').show();
}
else if
(jQuery.url.attr('anchor') == 'question7'){
    $('#answer7').show();
}
else if
(jQuery.url.attr('anchor') == 'question8'){
    $('#answer8').show();
};

正如你所看到的,这是相当漫长的.我真正希望能够做的是获取URL末尾的数字并将其附加到#answer,以便更紧凑.我试图将(jQuery.url.attr(‘anchor’)的结果分配给变量,但是我在完成此任务时遇到了一些麻烦.任何帮助都将不胜感激!

最佳答案
var match = jQuery.url.attr('anchor').match(/^question([0-9]+)$/);
if (match && match.length > 0) {
    $('#answer' + match[1] ).show();
}

更新.

原文链接:https://www.f2er.com/jquery/428829.html

猜你在找的jQuery相关文章