肯定有一种更聪明的方法来安排以下Javascript。我有一个GET变量,如'工程'或'项目交付',但将来可能会有所不同。
然后我在主体中有链接,其ID应该与GET变量对应。
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吗?
答案 0 :(得分:2)
您可以尝试此解决方案:
'$("#select1").change(function() {
if ($(this).data('options') == undefined) {
$(this).data('options', $('#select2 option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html(options);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>'
<select name="select1" id="select1">
<option value="1">Fruit</option>
<option value="2">Animal</option>
<option value="3">Bird</option>
<option value="4">Car</option>
</select>
<select name="select2" id="select2">
<option value="1">Banana</option>
<option value="1">Apple</option>
<option value="1">Orange</option>
<option value="2">Wolf</option>
<option value="2">Fox</option>
<option value="2">Bear</option>
<option value="3">Eagle</option>
<option value="3">Hawk</option>
<option value="4">BWM<option>
</select>
答案 1 :(得分:0)
你可以通过将你的get数据放入var来省略重复,尝试这样的事情,
var div=<your get> // IE. engineering and etc
if(window.location.href.indexOf("division="+div) > -1)
{
jQuery( "a#"+div ).addClass( "active" );
}
注意:我没有测试过,因此可能存在小错误,代码仅用于创意目的。
答案 2 :(得分:0)
试试这个:
(function (){
var temp = location.pathname.split("division=")[1];
jquery('a#' + temp).addClass('active');
}());
答案 3 :(得分:0)
我想你可以尝试这样:
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');