簡體   English   中英

在另一個HTML頁面中更改div

[英]Change the div's in another html page

還在這里學習一些javascript,做了其他事情,但現在是它的最后也是最重要的部分。

我有兩個html頁面-其中一個使用javascript動態添加文本字段(當然也要刪除它們)(genmain.html),另一頁面使用文本字段輸入(table.html)。

所以我已經創建了一個函數來檢索值數組。

function getElementArray(divName){
   var names = document.getElementsByName("namefield");
}

變量名是一個數組,它具有字段中的所有值。

問題是我想將數組中的這些值設置為頁面上另一個div的值。 經過一番搜索,我知道可以用'id'-s來完成,但我不確定,也不完全知道如何做。

假設我在另一頁(table.html)上有很多div,但是其中一些具有id =“ MAIN”。 我想在div內更改值

例如

<div id="MAIN">THIS PART I WANT TO CHANGE</div>

Javascript不是我學校系統的一部分,我已經完成了CodeAcademy教程,這是我所獲得的最多的知識,我希望你們能為我的問題提供幫助。

變量名是一個數組,它具有字段中的所有值。

function getElementArray(divName){
   var names = document.getElementsByName("namefield");
}

不,您僅在此處引用了元素。 您還沒有價值。

您可以通過遍歷名稱Nodelist數組並使用names[i].value來獲取值。

問題是我想將數組中的這些值設置為頁面上另一個div的值

如果要在同一頁面中,則使用DOM的innerHTMLtextContent屬性分配值。

document.getElementById("MAIN").textContent= names[1].value;

出於演示目的,我在此處使用names[1] ,這樣它將加載第二個輸入值。

假設我在另一頁(table.html)上有很多div,但是其中一些具有id =“ MAIN”。 我想在div內更改值

一旦您移至另一個頁面,則javascript狀態將丟失。 因此,您將無法訪問該頁面內的names

您必須將這些值存儲到localStorage中並在下一頁中進行檢索。

否則,將值添加到您的URL的query字符串中,然后在其中進行檢索。

編輯:根據評論更新

讓我們假設您有var names = document.getElementsByName("namefield"); 以便將值存儲在localStorage中。

var myValues = [],
    names = document.getElementsByName("namefield");
    for(var i = 0; i < names.length; i++) {
        myValues.push(names[i].value);
    } 
    localStorage.myValues = JSON.stringify(myValues);

現在,如果您的下一頁是Iinside window.onload事件:

   window.onload = function() {
       var myValues = localStorage.getItem("myValues") ? JSON.parse(localStorage.getItem("myValues")) : [],
           divElements = document.querySelectorAll("#MAIN");
       for(var i =0; i < myValues.length; i++) {
           divElements[i].textContent = myValues[i];
       }
   }

如果要設置或更改元素的內容,則可以使用innerHTML屬性。

因此,在您的情況下, document.getElementById("MAIN").innerHTML = "Whatever you want";

作為記錄,您的示例中的names從技術上講不是數組,而是NodeList 參見https://developer.mozilla.org/en/docs/Web/API/NodeList#Why_is_NodeList_not_an_Array.3F

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM