jQuery .load()帮助UPDATED

时间:2012-05-29 10:32:41

标签: jquery html

我还在学习jQuery所以我不知道这里发生了什么,但是我使用的是我在css-tricks上发现的过滤脚本,并试图在点击时将内容加载到div中但是我得到{{1在网址中。

我在不受过滤脚本影响的页面的一部分上做了这个并且它工作了,所以我只需要弄清楚什么是冲突的。

任何人都可以帮忙!

所以这是我在jQuery中加载undefined

中的内容
div

这是html:

$(document).ready(function(){
    $('#target').click(function() {
        event.preventDefault();
        $('#target').empty();
        $('#target').load('project1.html');
    });
});

这是过滤器jquery脚本:

<div id="target">
    <div class="sixteen columns clearfix thumbnail photoeditor">
        <div class="two-thirds columns alpha">
            <img src="images/d1.png" class="scale-with-grid" alt="fieldlazer" />
        </div>
        <div class="one-third columns omega">
            <span class="title">Title goes here</span>
            <span class="details">Description goes here</span>
        </div>
    </div>
</div>

任何帮助都会非常棒。谢谢!

编辑:或者我试过:

(function($){
    // Shuffle function from: http://james.padolsey.com/javascript/shuffling-the-dom/

    $.fn.shuffle = function() {
        var allElems = this.get(),
            getRandom = function(max) {
                return Math.floor(Math.random() * max);
            },
            shuffled = $.map(allElems, function() {
                var random = getRandom(allElems.length),
                    randEl = $(allElems[random]).clone(true)[0];
                allElems.splice(random, 1);
                return randEl;
            });

        this.each(function(i){
            $(this).replaceWith($(shuffled[i]));
        });

        return $(shuffled);
    };
})(jQuery);

$(function(){
    $(".thumbnail")
        .css("opacity","0.7")
        .hover(
            function() { $(this).css("opacity","1"); }, 
            function() { $(this).css("opacity","0.7"); }
        )

        $("#allcat").click(function(){
            $(".thumbnail").slideDown();
            $("#catpicker a").removeClass("current");
            $(this).addClass("current");
            return false;
        });

        $(".filter").click(function(){
            var thisFilter = $(this).attr("id");
            $(".thumbnail").slideUp();
            $("."+ thisFilter).slideDown();
            $("#catpicker a").removeClass("current");
            $(this).addClass("current");
            return false;
        });

        $(".thumbnail").shuffle();
});

使用html:

$(document).ready(function(){

$('#target').click(function(){

var link = $(this).attr('rel');
event.preventDefault();
$('#target').empty();
$('#target').load(link);

});
});

仍无济于事。

编辑:另一个更新

所以我有点工作,但它只适用于第一个div(Project1),当我清空外部html的DIV并放回#main-content的内容时,它显示的很奇怪而且没有任何功能作品。 有什么建议吗?

这是新的Jquery:

<div id="target" class="sixteen columns clearfix thumbnail photoeditor" rel="404.html">
<div class="two-thirds columns alpha">
<img src="images/d1.png" class="scale-with-grid" alt="fieldlazer" /></div>
<div class="one-third columns omega">
<span class="title">Title goes here</span>
<span class="details">Description goes here</span>
</div>
</div>

和HTML:

$(document).ready(function(){

$('#portfolio div').click(function(event){

var link = $(this).attr('rel');
event.preventDefault();
$('#main-content').load(link);

$("#back").live("click", function(event){
$('#main-content').empty();
$('#main-content').load('index.html #main-content *');
}); 
});
});

1 个答案:

答案 0 :(得分:0)

我在防止默认行时遇到错误,那是因为你忘了传递事件。将事件传递给.click函数,就像这样。

$('#target').click(function(event)

之后它对我有用。