首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在div中查找没有id的特定标记

在div中查找没有id的特定标记
EN

Stack Overflow用户
提问于 2014-08-05 08:01:38
回答 3查看 174关注 0票数 3

我正在使用jquery并试图找到一个嵌入在<object>中的<html>标记。我正在尝试使用find方法,但找不到。有人能帮我引路吗。

代码:

代码语言:javascript
复制
if (dialogObject.find('head')) {
                        var findelemnt = $('#dialogObject').find('html');
                        var testthis = findelemnt.attr("class");
                        alert(testthis);
                    }
                    else { alert("not found") }

dialoObject是一个<div>。附加页面的屏幕截图。

EN

回答 3

Stack Overflow用户

发布于 2014-08-05 10:42:34

我认为这可能是由于same origin policy导致的失败。参见https://stackoverflow.com/a/14453363/560114

尝试使用本地URL -我猜你可以使用下面的代码让它在那里工作:

代码语言:javascript
复制
$('#dialogObject')[0].contentDocument
票数 1
EN

Stack Overflow用户

发布于 2014-08-05 08:07:08

$('#dialogObject').find('head') -你已经通过正确的选择器调用了你的元素。

票数 0
EN

Stack Overflow用户

发布于 2014-08-05 10:04:04

如果您正在尝试嵌入嵌套的浏览上下文,您可以添加一个"name“属性:

代码语言:javascript
复制
<object id="dialogObject" data="http://domain/path" name="myWindow"></object>

并使用myWindow.document.documentElementwindow["myWindow"].document.documentElement访问嵌套的<html>元素。

编辑1:虽然您可以通过其"id“属性访问<object>元素,例如window.dialogObjectwindow["dialogObject"],当然也可以通过其"name”属性访问嵌套的window对象,例如myWindowwindow["myWindow"]

就此而言,$(myWindow.document.documentElement)等同于使用$(myWindow.document).find('html')

编辑2:如果你喜欢按照你的原始代码使用"id“属性,你可以把Matt Browneanswer和上面的结合起来实现以下功能:

代码语言:javascript
复制
$($('#dialogObject')[0].contentDocument).find('html')

尽管我会提出以下建议:

代码语言:javascript
复制
$(document.getElementById("dialogObject").contentDocument.documentElement)

除此之外,不要忘记在文档就绪事件处理程序中执行代码,以确保在您尝试访问任何有问题的元素时DOM已经完全加载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25129338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档