簡體   English   中英

以JavaScript形式使用innerHTML

[英]Use of innerHTML in javascript form

我在此示例中看到了如何使用輸入按鈕更改id內容,並且工作正常:

例:

<script type="text/javascript">
function changeText(){
    document.getElementById('boldStuff').innerHTML = 'Fred Flinstone';
}
</script>
<p>Welcome to the site <b id='boldStuff'>dude</b> </p> 
<input type='button' onclick='changeText()' value='Change Text'/>

當我嘗試使用它來更新選擇或復選框時,它不起作用? 我可以使用form元素來實現此結果嗎?

非工作示例:

<script type="text/javascript">
function changeText(){
    document.getElementById('boldStuff').innerHTML = '2';
}
</script>
<p>Welcome to the site 
<input type="checkbox" id="boldStuff" value="1" /></p> 
<input type='button' onclick='changeText()' value='Change'/>

innerHTML在開始標記和結束標記之間更改HTML。 由於input標簽是一個自閉標簽(以/>結尾的標簽,即使在HTML5中有效,也可以將/放在后面),因此沒有innerHTML

如果要更改值,只需定位value屬性:

document.getElementById('boldStuff').value = '2';

您應該設置元素的checked ,而不是它的innerHtml 設置innerHtml等效於:

<input type="checkbox" id="boldStuff" value="1">2</input>

這是無效的HTML。

如果要將復選框設置為選中,請執行以下操作:

document.getElementById('boldStuff').checked = true;

如果要設置值,請設置值 (而不是innerHTML):

document.getElementById('boldStuff').value = '2';

可以通過這種方式找到大多數屬性,其中某些屬性必須從element.getAttribute並使用element.setAttribute設置。

要通過innerHTML進行更改,您首先需要具有一個innerHTML值才能進行更改

所以

document.getElementById('***').innerHTML="2";

相應的HTML看起來應與此類似:

<p id="***">some text</p>

暫無
暫無

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

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