问题 DOM对象不会成为jQuery对象


为什么我不能在下面的例子中使$(frame)成为jQuery对象? 以下是我的chrome开发人员工具的输出。

console: mainFrame
output: <frame src=​"http:​/​/someurl.com" name=​"mainFrame">​
console: $(mainFrame).contents()
output: SyntaxError: Failed to execute 'querySelector' on 'Document': '[object HTMLFrameElement]' is not a valid selector.

编辑:

回应评论......

$.toString()
"function $(selector, [startNode]) { [Command Line API] }"

typeof(mainFrame)
"object"

jQuery
ReferenceError: jQuery is not defined

1595
2018-03-19 11:52


起源

你能提供相关代码而不是控制台输出吗?! - A. Wolff
什么是输出 $.toString() 和 typeof mainFrame? - plalx
我认为问题是这是一个帧标记,如果你不在同一个域,那么它是一个安全违规。如果你是,你可能仍然需要添加一些上下文,如下所示:$('#myselector',top.frames [“mainFrame”]。document).contents(); - Chris B
我不认为 $ 这是jQuery,试试吧 jQuery(mainFrame).contents() - Musa
看起来jQuery不支持框架元素: forum.jquery.com/topic/... - Johan


答案:


jQuery似乎没有包含在您的文档中。一些浏览器设置 $ 至 querySelector 默认情况下(这是使用类似CSS的语法选择DOM元素的本机方式),从而出现错误消息。尝试添加

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

15
2018-03-19 14:04



这就是答案。谢谢! - Maximus S


尝试

$(frame).contents();

要么     $(“html”,frame);

不确定哪一个会起作用


0
2018-03-19 14:05