使用javascript将外部.htm文件加载到div中

时间:2012-07-01 09:10:21

标签: javascript jquery ajax

所以我得到了这段代码

使用Javascript:

<script type="text/javascript">
$(function(){
    $('.ajax') .click(function(e){
        e.preventDefault()
        $('#content').load( 'file.htm' )
    })
})
</script>

HTML:

<a href="file.htm" class="ajax">Link</a>

它在firefox中完美运行,但是当我点击chrome中的链接时,没有任何反应,IE只是打开一个带有该文件的新窗口。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

我不是任何形式的编码员,我知道有多种方法可以完成这项工作 这对我的情况有用 我有一个工作网站,但在一个页面上有很多代码/ DIV内容,我想要清理它 我希望这可以帮助别人!

我一直在寻找这个解决方案很长一段时间,我已经遇到了很多关于它如何在不同实例中工作的例子。 我的情景如下:
我有一个摄影网站,使用一系列包含各种“页面”的DIV标签,可以说是该网站 这些都设置为:
    <div id="DivId" style="display:none"></div>
页面顶部的以下脚本:
    

    
    $(document).ready(function(){
    $('a').click(function () {
    var divname= this.name;
    $("#"+divname).show("slow").siblings().hide("slow");
    });

});
</script>


并使用这样的锚链接调用:
    <a href="" name="home">HOME</a>
其中name是要调用的DIV的名称 请注意,DIV将在父容器DIV中调用 最后也是最重要的是,对于这个特定的问题和场景,DIV都被放置在页面上,如上所示 每个div内容的创建就像它在DIV标签内,但是减去打开和关闭的DIV标签,然后保存为单独的.txt文件,并通过放置它来调用它是父页面的头部:
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js">

    
{{1}}

答案 1 :(得分:-2)

将链接更改为href="#""javascript:void(0);return false;"

<a class='ajax' href='#'>...</a>

加载逻辑全部在你的ajax调用中。但是,您也有一个指向该文件的链接。 因此,似乎有些浏览器会对点击的处理方式给出不同的优先级。

无论如何,除了更改页面(f.ex.执行js)以外的其他链接不应该具有明确的HREF属性,而不是“什么也不做”的东西(如上所述)

答案 2 :(得分:-3)

我认为问题是脚本在加载文档之前加载。

试试这个:

$(document).ready(function (){
    $('.ajax').click(function(e){
        e.preventDefault()
        $('#content').load( 'file.htm' )
    });
});

我不确定,但我看不到任何其他问题。