如何更改具有相同类、名称的 iframe src
How to change iframes src with same classes, names?
<iframe id="chgMe" src="Source1.htm">Frames are not supported on your browser.</iframe>
<button onclick="document.getElementById('chgMe').src='Source2.htm'">Next</button>
它工作得很好,但是当生成 2 个或更多具有相同 id、第二个、第三个、第四个等的 iframe 时,iframe 没有响应。我尝试了document.getElementByTagName();
和document.getElementByName();
但没有任何效果
你可以
编写一个函数来创建一个新的iframe(如果你还没有的话),给它们每个人的id chgMe0,chgMe1,chgMe2,...然后在单击"下一步"按钮时调用另一个函数,该函数执行以下操作:
var framecount; // global variable that counts all frames
function next(nextpage)
{
var i;
for(i=0;i<framecount;i++)
{
document.getElementById("chgMe"+i).src=nextpage;
}
}
ID
属性必须是唯一的,请改用类,或者在添加 IFrames 时生成新的 ID。
不允许使用具有相同id
的多个元素。
<button id="change_src">Next</button>
jQuery
$('#change-src').on('click', function() {
$('#chgMe').attr('src', 'Source2.htm?' + (new Date()).getTime();
});
您可以为您维护一个模式id
例如:chgMe_1, chgMe_2
等等,并像下面这样修改您的代码:
$('#change-src').on('click', function() {
$('[id*=chgMe_]').attr('src', 'Source2.htm?' + (new Date()).getTime();
});
这将选择包含chgMe_
的所有iframe
id
.
或者,您也可以对所有iframe
使用通用class
,并按如下方式使用它:
$('#change-src').on('click', function() {
$('.common_cls_name').attr('src', 'Source2.htm?' + (new Date()).getTime();
});
注意
(new Date()).getTime()
只是为了防止缓存,上面的所有代码都会改变所有iframe
的src
(根据您的问题)。
相关文章:
- 如何使用Angular动态添加iframe-src
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 如何在使用JavaScript或jQuery刷新父页面后保留iframe-src
- Change iframe src
- 使用jQuery来foreach iframe-src,并通过函数获取ID和操作
- jQuery在iFrame Src中查找和替换文本
- 使用jQuery编辑iframe-src
- 如何更改具有相同类、名称的 iframe src
- 用vbscript更改iframe src(打开关于语言)
- iframe src 使用现有值在单击时添加自动播放=true 参数
- 为什么当我尝试为iframe-src属性构建URL时,AngularJS会抛出错误
- 防止iFrame src在加载时在单击时被触发
- 使用输入类型text更改iframe-src
- 更改iframe src可阻止父级隐藏
- 使用 JavaScript 更改 iframe src
- 使用jquery检测iframe-src更改
- 通过选择框“选项”更改 Iframe SRC
- 加载 Iframe src,并从水平下拉菜单中进行选择
- 单击元素时重新加载 iframe src
- 如何使用 iframe.src 下载文件时获取返回状态代码