如何通过ajax加载页面并通过内部链接直接转移到particlur部分。我知道一种方法是将#[sectionId]附加到url或查询字符串。
我尝试将#linkId附加到href属性值,但jQuery似乎截断了#字符后面的所有字符。
上下文: 我正在使用JQuery Tabs UI并且有一个与面板关联的选项卡。该面板包含链接列表 - 内容列表 - 以及主要内容。鉴于内容列表位于主要内容之前,我希望能够单击链接并直接移动相关部分。
$('.helpNoteTabs').tabs({
load: function (event, ui) {
$('a', ui.panel).live("click", function () {
$(ui.panel).load(this.href );
return false;
});
},
ajaxOptions: {
data: { dataj: "", sourceFile: sourceFileName, table: "" },
cache: false,
type: "POST",
success: function (data, textStatus) {
}
}
});
我有一个Contentents列表呈现如下:
<li><a href=""mocks/FetchHelpNote.asp?sourceFile=sc_mna#helpFooter"" class=""helpNoteDialogIndexLink"">" & recordset("title") & "</a></li>"
注意:我只将#helpFooter附加到上面的href属性值作为测试,以查看页脚部分是否在视图中向上移动。单击并使用Firebug查看已发布的URL。我意识到它被截断后的#字符和字符: 发布:mocks / FetchHelpNote.asp?sourceFile = sc_mna
我的选项卡面板中的布局如下。
目录
linkOne
linkTwo
目录。
linkOne
linkOneContent
linkTwo
linkTwoContent
目标是允许最终用户点击链接并通过内部链接移至相关部分。
答案 0 :(得分:1)
#, . and others are special characters, you need to escape them with \\
如果你想使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为名称的文字部分,您必须使用两个反斜杠转义字符:\\。例如,如果您有一个id =“foo.bar”的元素,则可以使用选择器$(“#foo \\。吧“)。