Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery加载div中的内容_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用jquery加载div中的内容

Javascript 使用jquery加载div中的内容,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在使用jquery时遇到了一些问题。我有一系列带有href属性的卡片,它们调用php页面并使用get方法发送属性。这里有一个例子 <div class="pers_genres_card"> <div class="card-panel teal_green"> <span class="white-text"><a class="pers_href_white" target="_self" href="generatorgen.ph

我在使用jquery时遇到了一些问题。我有一系列带有href属性的卡片,它们调用php页面并使用get方法发送属性。这里有一个例子

    <div class="pers_genres_card">
<div class="card-panel teal_green">
    <span class="white-text"><a class="pers_href_white" target="_self" href="generatorgen.php?genre=Blues">Classica</a></span>
</div>
<div class="card-panel teal_orange">
    <span class="white-text"><a class="pers_href_white" href="generatorgen.php?genre=Blues">Blues</a></span>
</div>

但当我尝试单击href时,结果会显示在另一个页面中。简单地说,jquery脚本不会启动,因此经典的href属性无法加载。我已经编写了另一个jquery脚本,它工作得很好,也比这个脚本更复杂,我不明白为什么它不工作。

当您单击链接时,浏览器将直接重定向到它。您必须主动阻止浏览器这样做。您可以使用DOM方法来实现这一点

将JS更改为以下内容,它应该可以工作:

$(document).ready(function(){
    $('a.pers_href_white').click(function(e){
        e.preventDefault();
        var page = $(this).attr('href');
        $('#central').load(page);
        return false;
    });
});

你有语法错误,所以你的javascript可能根本不运行,当你点击一个锚时,它会重定向,就像它应该做的那样。了解如何使用控制台并调试简单的语法错误,如未正确关闭函数。您需要防止单击事件的传播,以便它不会加载新页面<代码>单击(函数(e){e.preventDefault();})。正如@hungerstar所说,您需要正确地取消本机单击事件。
返回false
没有这样做,可以删除并用上面注释中显示的代码替换。@ScottMarcus-为什么
返回false
不这样做,它是
预防默认值
停止传播
合并成一个呢?@adeneo是吗?我没有意识到这一点。我在想“香草”JavaScript.JQuery不提供
event.preventDefault()
。这是标准domapi的一部分。()而且,根据@adeneo,JQuery中的
返回false
可以实现这一点。@ScottMarcus从来不知道这一点。它是jQueryAPI文档()的一部分。我将编辑post.jQuery,它有自己的事件和回调,所以是的,它有自己的
preventDefault
->@alesiocorvaglia什么不起作用?怎么了?
$(document).ready(function(){
    $('a.pers_href_white').click(function(e){
        e.preventDefault();
        var page = $(this).attr('href');
        $('#central').load(page);
        return false;
    });
});