使用jQuery切换到隐藏/显示项目添加或删除属性

时间:2013-04-30 15:45:38

标签: jquery toggle attr

我有以下jQuery,当我点击按钮时,我用它来隐藏/显示iFrame。

iFrame包含一些PHP,我只想在显示iFrame时加载。

$(document).ready(function()
    {
        $('#button').click(function()
            {
                $('#graphFrame').toggle().attr('src', 'graph1.php');    
            }
        )   
    }
);

这很好用,除了当我隐藏iFrame时它还试图加载PHP。

有没有办法告诉它在我显示iFrame时添加'src'属性(从而加载php),并在隐藏iFrame时删除它(因此不加载PHP)?

3 个答案:

答案 0 :(得分:2)

尝试

$('#graphFrame').toggle(function(){
     var $this = $(this);
    $this.is(":visible") ? $this.attr('src', 'graph1.php') : $this.removeAttr('src')
});

答案 1 :(得分:1)

试试这个:

$(document).ready(function () {
    $('#button').click(function () {
        $('#graphFrame').toggle();
        $('#graphFrame:visible').attr('src', 'graph1.php');
    });
});

答案 2 :(得分:1)

你可以试试这个

$('#button').click(function(){
    var ifr = $('#graphFrame');
    ifr.toggle(function(){
        if(ifr.is(':visible')) ifr.attr('src', 'graph1.php');
        else ifr.attr('src', '');
    });
});

DEMO.