簡體   English   中英

為什么分配時我的innerHTML對象沒有更改?

[英]Why is my innerHTML object not changing when assigned?

在我的HTML文件中,有一個標題和下面的2個按鈕:

<h4 align="center">August 2014</h4>
<img src="images/arrow_BW_thin_left.png" alt="Previous Month" id="left" onMouseUp="funcLeft()" style="cursor:pointer">
<img src="images/arrow_BW_thin_right.png" alt="Next Month" id="right" onMouseUp="funcRight()" style="cursor:pointer">

在我的JavaScript文檔中,我有一個函數“ funcRight()”:

function funcRight() {
    var month = document.getElementsByTagName("h4").item(0);
    if (month.innerHTML == "August 2014"){
        month.innerHTML="September 2014";
    } else if (month.innerHTML == "September 2014"){
        month.innerHTML="October 2014";
    }
}

當我單擊圖像時,它不會以任何方式更改innerHTML。 有人知道我在做什么錯嗎?

與內聯onClick我更喜歡使用addEventListener()

在這里,您可以找到自己的代碼示例

document.querySelector("#right").addEventListener("click", funcRight);

function funcRight() {
    var month = document.getElementsByTagName("h4").item(0);
    if (month.innerHTML == "August 2014"){
        month.innerHTML="September 2014";
    } else if (month.innerHTML == "September 2014"){
        month.innerHTML="October 2014";
    }
}

這是玩的小提琴

為什么我在更改時在屏幕上而不是內容上得到 [object HTMLDivElement]<div> 使用innerHTML 的內容?</div><div id="text_translate"><p> 我正在嘗試從<a href="https://jsonplaceholder.typicode.com/posts" rel="nofollow noreferrer">https://jsonplaceholder.typicode.com/posts</a>獲取標題和正文數據,並嘗試在屏幕上顯示這些數據。 只有標題應該是可點擊的。 下面是我的 HTML 代碼。</p><pre> &lt;.DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;List&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="post"&gt; &lt;a&gt; &lt;h3 class="title"&gt; &lt;/h3&gt; &lt;/a&gt; &lt;p class="body"&gt; &lt;/p&gt; &lt;/div&gt; &lt;script src="fetch.js"&gt;&lt;/script&gt; &lt;/body&gt; &lt;/html&gt;</pre><p> 下面是我的 javascript 代碼。</p><pre> const api_url='https://jsonplaceholder.typicode.com/posts'; async function getISS(){ const response = await fetch(api_url); const data= await response.json(); const { id, title, body } = data; document.getElementById("post").innerHTML = post; for (let i = 1; i &lt; 100; i++) { post += `&lt;a href="https://jsonplaceholder.typicode.com/posts/${i}"&gt; &lt;h3 class="title"&gt;${data[i].title}&lt;/h3&gt;&lt;/a&gt; &lt;p class="body"&gt;${data[i].body} &lt;/p&gt;`; } } getISS();</pre><p> 當我運行此代碼時,我會在屏幕上看到 [object HTMLDivElement],如下所示: <a href="https://i.stack.imgur.com/G513L.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/G513L.png" alt="輸出圖片"></a></p><p> 我需要更改 javascript 代碼上的 div 內容。 我正在嘗試使用innerHTML 來做到這一點。 我究竟做錯了什么? 我需要查看內容而不是 [object HTMLDivElement]。 我怎樣才能做到這一點?</p></div>

[英]Why do I get [object HTMLDivElement] on screen instead of the content while changing <div> content using innerHTML?

暫無
暫無

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

相關問題 為什么我的onclick腳本沒有改變我的innerhtml? 為什么我的來自 onlick 的 function 沒有改變 innerHTML? 使用 javascript 更改 HTML object 的 innerHTML 為什么 div 標簽的 innerHTML 屬性在我將其分配給變量時不會改變? 當通過innerHTML添加元素時,為什么我的動畫會“重播”? 當 module.exports 被分配一個對象時,為什么這是一個空對象? TypeScript:為什么在定義時不能與接口分配相同的對象,但作為參數傳遞時可以分配 為什么我在更改時在屏幕上而不是內容上得到 [object HTMLDivElement]<div> 使用innerHTML 的內容?</div><div id="text_translate"><p> 我正在嘗試從<a href="https://jsonplaceholder.typicode.com/posts" rel="nofollow noreferrer">https://jsonplaceholder.typicode.com/posts</a>獲取標題和正文數據,並嘗試在屏幕上顯示這些數據。 只有標題應該是可點擊的。 下面是我的 HTML 代碼。</p><pre> &lt;.DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;List&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="post"&gt; &lt;a&gt; &lt;h3 class="title"&gt; &lt;/h3&gt; &lt;/a&gt; &lt;p class="body"&gt; &lt;/p&gt; &lt;/div&gt; &lt;script src="fetch.js"&gt;&lt;/script&gt; &lt;/body&gt; &lt;/html&gt;</pre><p> 下面是我的 javascript 代碼。</p><pre> const api_url='https://jsonplaceholder.typicode.com/posts'; async function getISS(){ const response = await fetch(api_url); const data= await response.json(); const { id, title, body } = data; document.getElementById("post").innerHTML = post; for (let i = 1; i &lt; 100; i++) { post += `&lt;a href="https://jsonplaceholder.typicode.com/posts/${i}"&gt; &lt;h3 class="title"&gt;${data[i].title}&lt;/h3&gt;&lt;/a&gt; &lt;p class="body"&gt;${data[i].body} &lt;/p&gt;`; } } getISS();</pre><p> 當我運行此代碼時,我會在屏幕上看到 [object HTMLDivElement],如下所示: <a href="https://i.stack.imgur.com/G513L.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/G513L.png" alt="輸出圖片"></a></p><p> 我需要更改 javascript 代碼上的 div 內容。 我正在嘗試使用innerHTML 來做到這一點。 我究竟做錯了什么? 我需要查看內容而不是 [object HTMLDivElement]。 我怎樣才能做到這一點?</p></div> 我的innerHTML命令沒有更改任何內容,我不知道為什么 為什么我的對象中的值沒有改變?
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM