让我们认为我们的网址看起来像
www.domain.com #CourseID#LessonID
我想做的是,在什么时候:
CourseDivButton
点击了当前网址
$(this).data("id")
作为主题标签(www.domain.com #CourseID )CourseID
(www.domain.com #CourseID ),然后进行更改(www.domain.com #NEWCourseID )CourseID
和LessonID
(www.domain.com #CourseID#LessonID )然后删除第二个并更改(www.domain.com #NEWCourseID )LessonDivButton
点击了当前网址
CourseID
(www.domain.com #CourseID ),然后再添加第二个(www.domain.com #CourseID#LessonID ) CourseID
和LessonID
(www.domain.com #CourseID#LessonID )然后更改第二个并保持原样(www.domain。 com #CourseID#NEWLessonID )我的代码现在如下所示。无法弄清楚如何实现我想要的目标。
CourseDivButton.click(function(){
var id=$(this).data("id");
LoadLessons(id);
window.location.hash = id;
});
LessonDivButton.live("click", function(){
var id=$(this).data("id");
LoadQuestions(id);
window.location.hash = id;
});
有什么建议吗?
答案 0 :(得分:1)
不是使用主题标签,而是使用查询字符串?我建议你像这样添加它们:
www.domain.com?course=的 CourseID 强>&安培;课= <强> LessonID 强>
使用下面的javascript函数,您可以从URL中获取变量,如下所示:
var courseID = urlParam('course');
var lessonID = urlParam('lesson');
function urlParam(name) {
/// <summary>
/// Gets the value of a parameter located within the url.
/// </summary>
/// <param name="name">The paramter to lookup.</param>
/// <returns type="string">The value of the requested parameter, or undefined if the parameter is not present.</returns>
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return undefined;
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
如果您需要使用添加的查询字符串构建新网址check this out。