JQuery AJAX url参数:内部链接/相对链接

时间:2011-08-24 07:57:08

标签: jquery jquery-ui

如何通过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查看已发布的U​​RL。我意识到它被截断后的#字符和字符: 发布:mocks / FetchHelpNote.asp?sourceFile = sc_mna

我的选项卡面板中的布局如下。

目录

linkOne

linkTwo

目录。

linkOne

linkOneContent

linkTwo

linkTwoContent

目标是允许最终用户点击链接并通过内部链接移至相关部分。

1 个答案:

答案 0 :(得分:1)

#, . and others are special characters, you need to escape them with \\

来自jquery selectors

如果你想使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为名称的文字部分,您必须使用两个反斜杠转义字符:\\。例如,如果您有一个id =“foo.bar”的元素,则可以使用选择器$(“#foo \\。吧“)。