jQuery:jQuery.ajax() 和锚点问题

发布于 2024-10-20 14:50:15 字数 1444 浏览 0 评论 0原文

大家好,我对锚点和动态内容加载的问题有疑问 $.ajax()。

假设这是我的 jQuery 代码:

$("a.false").live("click", function() {
    var data = $(this).attr("href");
    $("div#text").hide("fast");
    $("div#loader").show("fast");
    $.ajax({
        type: "GET",
        url: "callback.php",
        data: data,
        dataType: "html",
        cache: false,
        success: function(result){
            $("div#loader").hide("fast");
            $("input#data").val(data);
            $("div#text").html(result);
            $("div#text").show("fast");
        }
    });
});

我想每个人都知道这段代码的含义,我不会解释它。

callback.php 的答案是:

<div class="name">
    <div class="replic_id">
        <input type="hidden" id="replica_1" name="replica_1" value="1" />
        <a id="rp1">#1</a>
    </div>
    <div class="names">Name 1</div>
    <div class="replicas">Replica 1</div>
</div>
<div class="name">
    <div class="replic_id">
        <input type="hidden" id="replica_2" name="replica_2" value="2" />
        <a id="rp2">#2</a>
    </div>
    <div class="names">Name 2</div>
    <div class="replicas">Replica 2</div>
</div>

现在我的 javascript 变量“data”值为 =“movie=scarymovie#255”,页面必须从锚点 #255 开始,但它从头开始。我如何修复它从锚点 255 开始,而不是从开始?

关于;]

已修复:更正 ID

Hi all I have a problem with anchors and dynamic content loaded thought $.ajax().

Let suppose this is my jQuery code:

$("a.false").live("click", function() {
    var data = $(this).attr("href");
    $("div#text").hide("fast");
    $("div#loader").show("fast");
    $.ajax({
        type: "GET",
        url: "callback.php",
        data: data,
        dataType: "html",
        cache: false,
        success: function(result){
            $("div#loader").hide("fast");
            $("input#data").val(data);
            $("div#text").html(result);
            $("div#text").show("fast");
        }
    });
});

I think everybody knows what means this code and I'll no explain it.

callback.php answer is:

<div class="name">
    <div class="replic_id">
        <input type="hidden" id="replica_1" name="replica_1" value="1" />
        <a id="rp1">#1</a>
    </div>
    <div class="names">Name 1</div>
    <div class="replicas">Replica 1</div>
</div>
<div class="name">
    <div class="replic_id">
        <input type="hidden" id="replica_2" name="replica_2" value="2" />
        <a id="rp2">#2</a>
    </div>
    <div class="names">Name 2</div>
    <div class="replicas">Replica 2</div>
</div>

And now I javascript variable "data" value is = "movie=scarymovie#255" the page must start from anchor #255 but it starts from the begin. How I can fix it to start from anchor 255, no from begin?

with regards ;]

Fixed: Correct a IDs

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

彩虹直至黑白 2024-10-27 14:50:15

将锚点作为其自己的值发送回并使用会更容易:

window.location.hash = '#255';

值得注意的是,即使它可能有效,255 也不是 HTML 中 ID 属性的有效值: HTML 中 id 属性的有效值是什么?

编辑:修复了变量名拼写错误

It is easier to send back the anchor as its own value and just use:

window.location.hash = '#255';

It is worth noting that even though it may work, 255 is not a valid value for an ID attribute in HTML: What are valid values for the id attribute in HTML?

Edit: fixed a typo in the variable name

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文