2011-02-24 58 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); 
} 

由於某些原因,對象元素不會使用新的「數據」信息進行更新。基本上你是克隆節點,應用新信息,然後獲得舊節點的父節點,刪除舊節點,追加新節點。