先上代码:
//点击一个按钮事件
$(".lv-ticketUl").on("click", "a", function () {
var a = $(this).attr("data-deptime");
var b = $(this).attr("data-arrtime");
var c = $(this).attr("data-jumpurl");
// console.log(c);
// console.log(c + '&' + a + '&' + b);
window.location = c + '&deptime=' + encodeURI(a) + '&arrtime=' + encodeURI(b);
});
//一个获取url参数方法
function getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r !== null) {
return decodeURI(r[2]);
}
return null;
}
//在页面显示获取的数据
$(".trainNum").text("" + getQueryString("trains") + "");
$(".trainFrom").text("" + getQueryString("from") + "");
$(".trainTo").text("" + getQueryString("to") + "");
$(".lv-FromDate").text("" + getQueryString("Fromdate") + "");
$(".lv-ArriveDate").text("" + getQueryString("Arrivedate") + "");
$(".lv-seatType").text("" + getQueryString("seatType") + "");
$(".lv-start").text("" + getQueryString("deptime") + "");
$(".lv-end").text("" + getQueryString("arrtime") + "");
$(".lv-duration").text("" + getQueryString("duraTion") + "");
前端显示的效果截图:
问题:功能我实现了,但是我很怀疑我写的这段代码感觉不是很精简,冗余太多,如果有20个参数,难道要写20行,我想过循环遍历,感觉循环遍历有没必要。如下:
请问经验丰富的论坛大牛,这种写法是不是很垃圾,有没有更高效,精简的写法。谢谢!
JS初学者
查表啊,你构建一个类名和查询字符串对应的表,然后遍历这个表啊。别的不说,减少代码是肯定可以的。