这是我在这个相当狡猾的网站上的第一篇文章,所以如果在其他地方已经讨论过这个问题,我会很容易(如果有的话我找不到它).
我正在使用这里找到的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();
}
更新.