最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - DOM object not becoming a jQuery object - Stack Overflow

programmeradmin4浏览0评论

How come I cannot make $(frame) a jQuery object in the below case? Below is my output from chrome developer tools.

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

Edit:

to respond to comments...

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

typeof(mainFrame)
"object"

jQuery
ReferenceError: jQuery is not defined

How come I cannot make $(frame) a jQuery object in the below case? Below is my output from chrome developer tools.

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.

Edit:

to respond to comments...

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

typeof(mainFrame)
"object"

jQuery
ReferenceError: jQuery is not defined
Share Improve this question edited Mar 19, 2014 at 14:01 Maximus S asked Mar 19, 2014 at 11:52 Maximus SMaximus S 11.1k19 gold badges80 silver badges163 bronze badges 6
  • 4 Could you provide relevant code instead of console output?! – A. Wolff Commented Mar 19, 2014 at 11:57
  • 2 What is the output of $.toString() and typeof mainFrame? – plalx Commented Mar 19, 2014 at 11:58
  • 1 I think the problem is that this is a frame tag and if you're not on the same domain then it is a security violation. If you are you might still need to add some context like the following: $('#myselector',top.frames["mainFrame"].document).contents(); – Chris B Commented Mar 19, 2014 at 12:10
  • I don't think $ is jQuery here, try jQuery(mainFrame).contents() – Musa Commented Mar 19, 2014 at 12:26
  • It looks like jQuery doesn't support frame elements: forum.jquery.com/topic/… – Johan Commented Mar 19, 2014 at 12:39
 |  Show 1 more comment

3 Answers 3

Reset to default 16

jQuery doesn't seem to be included in your document. Some browsers set $ to querySelector by default (which is a native way to select elements of the DOM using css-like syntax), thereby your error message. Try adding

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

Looks like jQuery is not included into the DOM, try to include jQuery either by CDN or add standalone jQuery into the DOM.

You can confirm the jQuery installation by typing $ into the browser inspect tab. If the output is something like

> $
ƒ (e,t){return new x.fn.init(e,t,r)}

then jQuery added successfully.

Try

$(frame).contents();

Or

$("html", frame);

not sure which one will work.

发布评论

评论列表(0)

  1. 暂无评论