Html5 postMessage使用jQuery,但不是jQuery-postMessage脚本

时间:2012-04-25 20:30:33

标签: javascript jquery html5 dom

所以我在Html5 Demos处理了Html5 PostMessage示例,我创建了一个样本jsfiddle,看看我是否理解它是如何协同工作的。

该演示使用document.getElementById(...)我认为可以用jQuery选择器$("#...")替换,但是我被困在了,因为jQuery select中返回的对象无法访问{{ 1}}而contentWindow的确如此。

document.getElementById(...)

我并不完全精通jQuery,知道从选择器调用结果对象的众多方法中的哪一个回到我将从document.getElementById("frame1").contentWindow.postMessage("Hello from another domain", "http://dl.dropbox.com"); // works $("#frame1").contentWindow.postMessage("Hello from another domain", "http://dl.dropbox.com"); // no dice 看到的结果。

1 个答案:

答案 0 :(得分:6)

$("#frame1")    // This a jQuery object that encapsulate the DOM element.
$("#frame1")[0] // this is the DOM element.
//Or
$("#frame1").get(0) // this is the DOM element.

完整代码:

$("#frame1")[0].contentWindow.postMessage("Hello from another domain", "http://dl.dropbox.com"); // DICE!

Updated Fiddle

但我发现使用jQuery选择id然后从中提取DOM元素并且根本不使用jQuery是很尴尬的。 document.getElementById有什么问题?那15个额外的字符?