我之前已经让它工作了,但由于某种原因它不再工作了。有人可以解释一下为什么现在不起作用吗?
包含 iframe 的第一页:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Test 1</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="thediv" style="background: #ffff00;"> div </div>
<iframe id="theframe" src="test2.html"></iframe>
</body>
</html>
iframe 内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>test 2</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function () {
$("#clickme").click(function(){
$("#thediv", top.document).css("background","#ff0000");
alert($("#thediv", top.document).text());
});
});
</script>
</head>
<body>
<a href="#" id="clickme">clickme</a>
</body>
</html>
这在 Firefox 9 中运行良好。
请记住,.click() 不适用于动态添加的元素。
更新:出于安全原因,不允许这样做。请参阅此线程: 不安全的 JavaScript 尝试使用 URL 访问框架
好的,
我无法让它在我的本地机器上工作,但是在我的实时文件中,我在 iframe src 路径中使用了完整的 url,即使它在同一个域中它不起作用......删除 URL 路径后,它似乎可以工作...无论如何谢谢