2011-02-24 56 views
1

对于使用JavaScript更改对象的内容并且尚未找到任何内容的正确语法,我已经看到了高低。使用JavaScript更改html对象的内容

我该如何去打开使用JavaScript的对象内的HTML?

如果有人能帮助,那将是非常感谢。

+0

它也有助于使用像jQuery这样的框架:http://api.jquery.com/html/ – 2011-02-24 16:23:49

+2

你的意思是什么“对象”?一个JavaScript对象,HTML元素'?你的“内容”究竟是什么意思? – RoToRa 2011-02-24 16:24:07

+0

你想做什么?打开弹出窗口,更改元素中的HTML或更改对象标记的某些参数? – TJHeuvel 2011-02-24 16:26:15

回答

0

使用innerHTML属性。

在谷歌的信息,让您更省心: http://www.tizag.com/javascriptT/javascript-innerHTML.php

好吧,你必须做一些像

<script> 
function OpenUrl(value) 
{ 
     document.all.myFrame.src=value; 
     document.all.myFrame.style.visibility="visible"; 
} 
</script> 

然后HTML里面了新的一页:

 <body> 
     ... 
      <iframe id="myFrame" style="visibility:hidden;"></iframe> 
     ... 
     </body> 

然后有一个触发功能的元素,如按钮或图像:

<input type="button" value="Load" onclick="return OpenUrl('mywebsite')"> 
+0

那真的不是我想要的。我需要知道如何使用javascript在内打开html页面。 – 2011-02-24 16:24:25

+1

使用iframe标记 – 2011-02-24 16:25:59

+0

'document.all'真的......?在IE/Opera以外的浏览器中打开此链接http://jsfiddle.net/Xx2au/将其更改为'document.getElementById('myFrame')'//跨浏览器 – subhaze 2011-02-24 18:15:33

2

为了显示使用JavaScript你必须创建一个iFrame元素中的另一页,因为这样的:

<div id='test'></div> 

<script type='text/javascript'> 
window.onload = function() 
{ 
    var src = 'http://www.google.com'; 
    document.getElementById('test').innerHTML = '<iframe src="'+src+'" />'; 
} 
</script> 
+0

我又想将html页面加载到对象使用JS – 2011-02-24 16:26:51

+0

在这种情况下,您需要一个iFrame。你为什么要使用对象标签?您可以使用iframe.src更改iframe的网址。 – TJHeuvel 2011-02-24 16:29:15

+0

好吧,听起来很好看,发布一些简单的代码来支持。谢谢 – 2011-02-24 16:31:59

0

与jQuery你可以放心,它会在所有的现代和不那么正常工作现代浏览器:http://api.jquery.com/html/

<div class="demo-container"><div class="demo-box">Demonstration Box</div></div> 

$('div.demo-container').html('<p>All new content. <em>You bet!</em></p>'); 
0

我只是想补充一点,这可以用一个对象标记来完成。诀窍是你必须创建一个新的对象,以便用新的html进行更新。

function resetObj (linkToNewPage, idOfObjectToChange) { 
    var clone = document.getElementById(idOfObjectToChange).cloneNode(true); 
    clone.data = linkToNewPage; 
    var placeHolder = document.getElementById(idOfObjectToChange).parentNode; 
    placeHolder.removeChild(document.getElementById(idOfObjectToChange)); 
    placeHolder.appendChild(clone); 
} 

由于某些原因,对象元素不会使用新的“数据”信息进行更新。基本上你是克隆节点,应用新信息,然后获得旧节点的父节点,删除旧节点,追加新节点。