我的HTML页面上有几个框架。其中一个帧(称为Main)包含几个INPUT。
当我使用它时:
Main.document.getElementsByTagName('input')
工作正常。但后来我尝试在jQuery中做同样的事情:
$("input",Main)
$("input",Main.document)
$("input",window.Main)
$("input",window.Main.document)
所有这些都返回null。我做错了什么?
更新
$(Main)
也返回null。
更新 jQuery包含在主框架内。
在基页我有那一行:
<script>$=Main.$;</script>
答案 0 :(得分:3)
jQuery无法为选择器返回null
。您很可能包含了错误的库,例如Mootools。您必须在主窗口中包含jQuery。如果$
被覆盖,您仍然可以使用jQuery
代替$
来使用jQuery方法。
如果您确定已包含jQuery,请使用frames.Main
或frames["main"]
来获取可读代码。定义名为Main的变量时,Main
不会指向框架。
当框架也包含jQuery时,建议不要使用main的jQuery框架,因为每个窗口的某些设置不同。使用:
frames["main"].$("input"); //Use the jQuery method of the frame.
答案 1 :(得分:0)
$(document).ready(function() {
$('#frame-id').contents().find('input');
});
确保您的iframe目前已准备就绪。