使用jquery更改iframe源

前端之家收集整理的这篇文章主要介绍了使用jquery更改iframe源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试这一点,现在看看类似的问题的其他答案SO,但是当我试图改变一个iframe的src属性,它更新它为整个窗口。这里是我使用的以下代码工作正常(无jquery):
<html>
<head>
<style type="text/css">
iframe#ifrm { 
    border:none;
    padding:.5em;
    margin:1.5em 0 1em;
    width:100%;
    height:100%;
}
</style>
<script src="./js/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
// <![CDATA[
    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    // this is the function I'm trying to replace:
    function loadIframe(iframeName,url) {
    if ( window.frames[iframeName] ) {
        window.frames[iframeName].location = url;   
        return false;
    }
    return true;
}
// ]]>
</script>
</head>

<body>
<ul>
<li><a href="http://www.google.com/" onclick="return loadIframe('ifrm',this.href)">Page 1</a> </li>
<li><a href="tabs.html" onclick="return loadIframe('ifrm',this.href)">Page 2</a></li>
</ul>
<div class="iframe">
<iframe name="ifrm" id="ifrm" src="tabs.html" frameborder="0">
Your browser doesn't support iframes.</iframe>

正如我所说,我试过

$('#ifrm').attr('src',"http://www.google.com")

显示页面,但不显示在iframe中。我真的只是学习jquery,但我不能弄清楚与我的情况有什么不同于其他类似的问题,像这样:

Jquery and iFrame update

谢谢。

解决方法

应该工作。

这里有一个工作示例:

http://jsfiddle.net/rhpNc/

function loadIframe(iframeName,url) {
    var $iframe = $('#' + iframeName);
    if ( $iframe.length ) {
        $iframe.attr('src',url);   
        return false;
    }
    return true;
}

猜你在找的jQuery相关文章