使用javascript更改HTML对象的innerHTML

使用javascript更改HTML对象的innerHTML,javascript,html,jquery,Javascript,Html,Jquery,我正在将外部页面加载到HTML对象中: var object = document.createElement('object') object.data = 'myPage.html' $("#myDiv").html(object) 现在我想修改对象的源代码。但是我不知道如何使用jQuery访问myPage.html的任何元素。例如: $("#myPageDiv").css('background-color', '#000'); 没有效果。如何修

我正在将外部页面加载到HTML对象中:

var object = document.createElement('object')
object.data = 'myPage.html'
$("#myDiv").html(object)
现在我想修改
对象的源代码。但是我不知道如何使用jQuery访问
myPage.html
的任何元素。例如:

$("#myPageDiv").css('background-color', '#000');

没有效果。如何修改注入的HTML对象中的元素?

对象的
innerHTML
回退内容

如果对象正在加载的外部资源不受支持,则将显示该对话框

将HTML文档的URL分配给
数据
有效地将对象用作
。您可能应该改用iframe,因为它们在浏览器中的支持时间要长得多

一旦你意识到你正在处理一个框架,你就可以开始讨论如何访问内容。

你会问“如何使用jQuery访问myPage.html的任何元素”

var object=document.createElement('object'))
object.d='XXX'
$(“#my”).html(object.d);
$('#x').text(“一些新文本”)


ddd
Jquery的
load
方法和
css
方法应该能够做到这一点

因此,请尝试以下方法(用于演示):

HTML(例如main.HTML

src=”https://code.jquery.com/jquery-3.5.1.js"
integrity=“sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=”
crossorigin=“匿名”>
函数step1()
{
$(“#myDiv”).load('myPage.html');
}
函数step2()
{
$(“#myPageDiv”).css('background-color','#000');
}
对于myPage.html

  src="https://code.jquery.com/jquery-3.5.1.js"
  integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
  crossorigin="anonymous"></script>

<input type=button onclick="javascript:step1();" value="(Step 1) Load HTML">

<div id=myDiv></div>


<input type=button onclick="javascript:step2();" value="(Step 2) Change color">


<script>

function step1()
{
$("#myDiv").load('myPage.html');
}

function step2()
{
$("#myPageDiv").css('background-color', '#000');

}

</script>

This is a test
<br>
<div id=myPageDiv>NEED TO CHANGE BACKGROUND COLOR</div>

这是一个测试

需要更改背景色吗
您可以在此处看到一个完全工作的HTML:


这是否回答了您的问题?使用常规的
iframe
元素,而不是
object
(结果是相同的,除非您可以更好地访问外部文档,前提是它与主页来自同一域)@Teemu我会使用iframe,但我正在制作一个chrome扩展,在使用iframe时,它似乎有一些有趣的行为。也许你应该问另一个关于“有趣行为”的问题。抱歉,但这似乎不起作用,我不确定它与我gaveI使用iframe的例子有什么不同,但我正在做一个chrome扩展,当使用iframe时,它似乎有一些有趣的行为