我想只用JavaScript來加載iframe
,到目前爲止,我一直在使用這樣的:在沒有jQuery的div上加載html?
$(".punctis-social-box").html("<iframe></iframe>");
但因爲它是唯一的指令,我有一個使用jQuery的,我會喜歡不依賴於任何更多在jQuery上。
我想只用JavaScript來加載iframe
,到目前爲止,我一直在使用這樣的:在沒有jQuery的div上加載html?
$(".punctis-social-box").html("<iframe></iframe>");
但因爲它是唯一的指令,我有一個使用jQuery的,我會喜歡不依賴於任何更多在jQuery上。
也許不是最好的方式開始:
var elements = document.getElementsByClassName("punctis-social-box");
for (var i = 0; i < elements.length; i++) {
elements[i].innerHTML = "<iframe></iframe>";
}
或者使用querySelectorAll
:
var elements = document.querySelectorAll(".punctis-social-box");
for (var i = 0; i < elements.length; i++) {
elements[i].innerHTML = "<iframe></iframe>";
}
爲了避免所有陋習TM你可以使用document.createElement
,而不是明確的變化內部HTML:
var element = document.querySelector(".punctis-social-box"),
iframe = document.createElement("iframe");
while (element.firstChild) { // the fastest way
element.removeChild(element.firstChild); // to clear the contents
}
element.appendChild(iframe); // adding new <iframe>
方法1:
var social_boxes = document.getElementsByClassName('punctis-social-box');
social_boxes[0].innerHTML += '<iframe></iframe>'; // add to first element, loop thru "social_boxes" if you want to add iframe to all elements
方法2(越好):
var social_boxes = document.getElementsByClassName('punctis-social-box');
var iframe = document.createElement('iframe');
social_boxes[0].appendChild(iframe); // add to first element, loop thru "social_boxes" if you want to add iframe to all elements
沒有'getByClassName'方法在JavaScript中。 – VisioN
@VisioN是的,有,但它不是標準的,直到HTML5(雖然FF已經有它自第3版以來),如果你想要兼容性,你將不得不使用nastier方法。 – DaveRandom
@DaveRandom我找不到任何地方... –
沒有提到身體阿賈克斯... – DomingoSL
@Amadan我刪除了我的評論,我顯然誤解了這個問題:) –