我在一个包含多个iframe的页面上。我想通过javascript访问其中的一个以操作某些DOM元素。
问题是,iframe没有ID或名称属性,只有src:
<iframe src="http://mysite/mypage/etc/etc/etc">divs and such in here</iframe>
document.getElementById('someframe').contentWindow.document.getElementById(...)
在这种情况下,我无法使用,因为我没有ID来抓取帧。在这种情况下是否可以使用XPath查询或类似查询?(如果有帮助,则这里只有一个iframe,其源设置为mysite/mypage
。)
您可以使用:
document.querySelector('iframe[src="http://mysite/mypage/etc/etc/etc"]')
这仅适用于现代浏览器。https://developer.mozilla.org/zh-CN/docs/Web/API/document.querySelector
要获得较早的浏览器支持,请按代码名称选择所有iframe。然后遍历您收到的所有元素并检查其src
属性。
一个简单的例子:(可以并且应该在自己的实现中编写更好的代码)
var iframes = document.getElementByTagName('iframe');
var matches = [];
for (el in iframes) {
if (el.src === 'http://mysite/mypage/etc/etc/etc') {
matches.push(el);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句