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

时间:2014-08-05 00:01:38

标签: jquery html jquery-ui

我正在使用jquery并尝试查找<html>中嵌入的<object>标记。我试图使用find方法,但无法找到一个。有人可以指导。

代码:

if (dialogObject.find('head')) {
                        var findelemnt = $('#dialogObject').find('html');
                        var testthis = findelemnt.attr("class");
                        alert(testthis);
                    }
                    else { alert("not found") }

dialoObject是<div>。附上页面的截屏。

enter image description here

3 个答案:

答案 0 :(得分:1)

我认为由于same origin policy,这可能会失败。请参阅https://stackoverflow.com/a/14453363/560114

尝试使用本地网址 - 我猜你可以使用此代码在那里工作:

$('#dialogObject')[0].contentDocument

答案 1 :(得分:0)

$(&#39;#dialogObject&#39;)。find(&#39; head&#39;) - 您已通过右侧选择器调用您的元素。

答案 2 :(得分:0)

如果您尝试嵌入嵌套浏览上下文,则可以添加“name”属性:

<object id="dialogObject" data="http://domain/path" name="myWindow"></object>

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

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

为此,$(myWindow.document.documentElement)相当于使用$(myWindow.document).find('html')

编辑2:如果您希望根据原始代码使用“id”属性,则可以将Matt Browneanswer与上述内容结合使用,以实现以下目标:

$($('#dialogObject')[0].contentDocument).find('html')

虽然我建议如下:

$(document.getElementById("dialogObject").contentDocument.documentElement)

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