我谷歌了,但没有找到这样的东西.
我有一个iframe有2个主要属性src =#和link = http://somesite.com
<iframe id="myiframe" src="#" link="https://somesite.com?id=x&anotherid=y" style="position:absolute; left:0px; top:0px; width:99%; min-width:80%; height:99%; min-height:80%; padding:0px;"></iframe>
Run Code Online (Sandbox Code Playgroud)
我从一些PHP脚本加载HTML中的iframe但我不想加载页面,这就是为什么我使用#作为源,现在当我点击网站上的一个按钮它将加载iframe(如果它没有加载从上一次点击),我的临时解决方案是:
<input type="button" value="load" onClick="var fr = document.getElementById('myiframe');if(fr.src.substr(-1)=='#'){fr.src=document.fr.getAttribute('link')};" />
Run Code Online (Sandbox Code Playgroud)
现在我有一点时间来实现jQuery,我想知道jQuery中是否有一些简单的代码可以从属性复制到另一个属性,或者是否有更好的解决方案来实现它.
像这样:$('#myiframe').attr('src',attr('link'));
我知道下面的内容会有效
$('#myiframe').attr('src', attr('link'));
Run Code Online (Sandbox Code Playgroud)
但我认为两次选择相同的元素并不是很多.(我是一个优化者疯子:))
或者你认为我必须使用一个函数:
$('#myiframe').attr('src', function(){
...
});
Run Code Online (Sandbox Code Playgroud)
我的问题是实现这一目标的最佳方法是什么.谢谢.
如果您不想两次选择元素 - 缓存它.
var $myiframe = $('#myiframe');
$myiframe.attr('src', $myiframe.attr('link'));
Run Code Online (Sandbox Code Playgroud)
我觉得 不行.$('#myiframe').attr('src', attr('link'));
您也应该能够使用一个函数:
$('#myiframe').attr('src', function () {
return $(this).attr('link');
});
Run Code Online (Sandbox Code Playgroud)
另外,作为旁注 - 尽量避免使用该onclick=属性.只需将jQuery绑定到click事件,如下所示:
$('input[type=button][value=load]').click(function () {
// One of the solutions above
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4789 次 |
| 最近记录: |