有沒有辦法可以將 iframe src 傳遞給變數而不使用getElementById?
我不知道動態生成的 iframe 的 ID - 但我希望能夠檢查 src 以查看它是否與定義的字串匹配 - iframe 有一個我可以定位的類,它是fancybox-iframe
我希望這會起作用,但它不會:
var srcURL = document.getElementsByClassName('fancybox-iframe').src;
uj5u.com熱心網友回復:
您可以使用以下方法getgetElementsByTagName():
srcURL = document.getElementsByTagName("iframe")[0].src;
注意這個方法的名字是用復數形式寫的,所以結果是一個陣列,即使這個陣列也包含一個元素。這[0]就是附加引數的原因。
uj5u.com熱心網友回復:
在評論中確認:
- 有多個
iframes - 只有一個有課
fancybox-iframe - jquery 已經在使用中
您可以使用以下方法選擇具有特定類的 iframe
$("iframe.fancybox-iframe")
然后申請.attr("src")獲取原始碼:
$("iframe.fancybox-iframe").attr("src")
這是nodename.class(沒有任何空格)的格式,這意味著元素必須是節點型別(iframe)并具有類(fancybox-iframe)。
您可能還可以使用
$(".fancybox-iframe").attr("src")
如果該類僅用于該 iframe。
uj5u.com熱心網友回復:
Element.prototype.getElementsByClassName
回傳一個元素陣列,所以你應該使用
document.getElementsByClassName('fancybox-iframe')[0].src
或者更好
const elements = Array.from(document.getElementsByClassName('fancybox-iframe'))
.filter(element => element.tagName.toLowerCase() == 'iframe');
if(!elements.length) {
// handle no iframe.fancybox-iframe found
}
const src = elements[0].src
https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByClassName
您也可以使用Element.prototype.querySelectorandElement.prototype.querySelectorAll來避免過濾getElementsByClassName結果并直接獲取 iframe
const elements = Array.from(document.querySelectorAll('iframe.fancybox-iframe'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/531057.html
上一篇:在另一個陣列中插入一組影像
下一篇:遍歷物件陣列時出現TS錯誤
