Javascript 如果URL变量等于ID而不是addclass
当然,有一种更聪明的方法来安排下面的Javascript。我有一个GET变量,比如“工程”或“项目交付”,但将来可能会有所不同 然后,我在主体中有一些链接,它们的id应该与GET变量相对应Javascript 如果URL变量等于ID而不是addclass,javascript,jquery,Javascript,Jquery,当然,有一种更聪明的方法来安排下面的Javascript。我有一个GET变量,比如“工程”或“项目交付”,但将来可能会有所不同 然后,我在主体中有一些链接,它们的id应该与GET变量相对应 if(window.location.href.indexOf("division=engineering") > -1) { jQuery( "a#engineering" ).addClass( "active" ); } if
if(window.location.href.indexOf("division=engineering") > -1) {
jQuery( "a#engineering" ).addClass( "active" );
}
if(window.location.href.indexOf("division=project_delivery") > -1) {
jQuery( "a#project_delivery" ).addClass( "active" );
}
if(window.location.href.indexOf("division=new_zealand") > -1) {
jQuery( "a#new_zealand" ).addClass( "active" );
}
if(window.location.href.indexOf("division=infrastructure") > -1) {
jQuery( "a#infrastructure" ).addClass( "active" );
}
有人能帮我找到一种更有效的方法来构造这个jQuery吗?你可以通过将get数据放入var来省去重复,试试这样的方法
var div=<your get> // IE. engineering and etc
if(window.location.href.indexOf("division="+div) > -1)
{
jQuery( "a#"+div ).addClass( "active" );
}
var div=//即工程等
if(window.location.href.indexOf(“division=“+div”)>-1)
{
jQuery(“a#“+div).addClass(“active”);
}
注意:我还没有测试过,所以可能会有一些小错误,代码仅用于构思。您可以通过将get数据放入var来省略重复,尝试类似的方法
var div=<your get> // IE. engineering and etc
if(window.location.href.indexOf("division="+div) > -1)
{
jQuery( "a#"+div ).addClass( "active" );
}
var div=//即工程等
if(window.location.href.indexOf(“division=“+div”)>-1)
{
jQuery(“a#“+div).addClass(“active”);
}
注意:我还没有测试过,所以可能会有一些小错误,代码仅用于Idea目的。试试这个:
(function (){
var temp = location.pathname.split("division=")[1];
jquery('a#' + temp).addClass('active');
}());
试试这个:
(function (){
var temp = location.pathname.split("division=")[1];
jquery('a#' + temp).addClass('active');
}());
您可以尝试以下解决方案:
var key = window.location.href.match(/division=(?:[a-zA-Z0-9_]+)/g)[0].replace(/^division=/, '');
if(key) jQuery( "a#" + key ).addClass( "active" );
您可以尝试以下解决方案:
var key = window.location.href.match(/division=(?:[a-zA-Z0-9_]+)/g)[0].replace(/^division=/, '');
if(key) jQuery( "a#" + key ).addClass( "active" );
我想你可以这样试试:
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
那就打电话吧
jquery('a#' + getParameterByName('division')).addClass('active');
我想你可以这样试试:
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
那就打电话吧
jquery('a#' + getParameterByName('division')).addClass('active');
那么jQuery(“a#”+variablevalue)呢;那么jQuery(“a#”+variablevalue)呢;像这样的URL会发生什么<代码>http://server/doc.html?division=something¶m2=value2?这只是一个想法,并不是一个彻底的实现,当然还有其他方法可以从位置获取get参数的值。像<代码>http://server/doc.html?division=something¶m2=value2?这只是一个想法,不是彻底的实现,当然还有其他方法可以从位置获取get参数的值。