jQuery 看不到上下文

标签 jquery

我有一个 HTML 页面,上面有几个框架。其中一个框架(称为主框架)包含多个输入。

当我使用这个时:

Main.document.getElementsByTagName('input')

效果很好。但后来我尝试在 jQuery 中做同样的事情:

$("input",Main)
$("input",Main.document)
$("input",window.Main)
$("input",window.Main.document)

它们都返回 null。我做错了什么?

更新 $(Main) 也返回 null。

更新 jQuery 包含在主框架内。

在基页我有这一行:

<script>$=Main.$;</script>

最佳答案

jQuery 无法为选择器返回 null。您很可能添加了错误的库,例如 Mootools。您必须在主窗口中包含 jQuery。如果$被覆盖,您仍然可以使用jQuery而不是$来使用jQuery方法。

当您确定已包含 jQuery 后,请使用 frames.Mainframes["main"] 以获得可读的代码。当您定义名为 Main 的变量时,Main 将不会指向框架。

当框架也包含 jQuery 时,建议不要使用主框架的 jQuery,因为每个窗口的某些设置都不同。使用:

frames["main"].$("input"); //Use the jQuery method of the frame.

关于jQuery 看不到上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7978764/

相关文章:

jquery - WordPress jQuery 点击事件

javascript - chartjs 不工作 php 页面但在 html 页面上工作

javascript - 如何在 jQuery 中将创建的 var 元素相互追加?

javascript - 如何替换表中已编辑的行

javascript - 如何在两个垂直部分显示“li”(像报纸一样并排)

jquery - bootstrap 的 twipsy 只需要什么? (应该从 bootstrap.css 中包含的类/id?)

javascript - 如何在ckeditor中添加自定义config.js

javascript - 如何将动态填充表格的信息显示到弹出窗口中?

javascript - jQuery 获取 <div> 标签之间的内容

jQuery - 计算图像数量,然后包装一定数量的图像