如何使用id名称作为url加载带有jquery的页面

时间:2012-05-28 21:48:46

标签: php javascript jquery ajax

我如何告诉jquery使用<a id=""><a href="">作为点击加载的URL?例如URL page1.php。通过获取href,或获取id然后附加.php

HTML

<a id="page1" class="load" href="page1.php">1</a>
<a id="page2" class="load" href="page2.php">2</a>
<a id="page3" class="load" href="page3.php">3</a>

jquery的

<script>
    $(document).ready(function () {  
        $(".load").click(loadDynamic);  
    });  
    function loadDynamic() {  
        $("#load_in")  
            .load("",function (content) {  
                $(this).hide().fadeIn("slow");  
                return false;  
        }); 
    }  
</script>

3 个答案:

答案 0 :(得分:3)

使用this.href获取href

$(document).ready(function() {
    $(".load").click(loadDynamic);
});

function loadDynamic() {
    $("#load_in").load(this.href, function(content) {
        $(this).hide().fadeIn("slow");
    });
        return false;
}​

当然,您也可以使用this.id + ".php"

注意您在return false回调中写了load因此它不会阻止默认的锚点击!您应该像在答案中一样将其移动到外部范围。


对于那些抱怨.click(fn)反对on('click', fn)

的人

这些功能相同.click(fn)on('click', fn)的别名:

  

在前两个版本中,此方法是.bind(“click”,handler)的快捷方式,以及jQuery 1.7中.on(“click”,handler)的快捷方式。

jQuery docs

答案 1 :(得分:3)

您可以使用this.href

$(".load").click(function() {
    $("#load_in").load(this.href, function() {
        $(this).hide().fadeIn("slow");
    });
    return false;
});

要获取ID,请使用简单的this.id

答案 2 :(得分:0)

替换

.load("",function (content) {

使用

.load(this.href, function (content) {