HTML DOM Javascript not working?
HTML DOM Javascript not working?
我有一个下拉菜单,当单击它时,可以成功更改图像的缩略图。但是,我还需要更改<p>
文本。我看了看W3Schools,但还是无济于事。这是我的密码。
<p id="caption"></p>
<select name="woodType" id="woodType" onChange="changeThumbnail();changeCaption(this);">
<script>
function changeCaption(selTag) {
var caption = selTag.options[selTag.selectedIndex].text;
document.getElementById("caption").text = "Wood: " + caption;
}
</script>
文本不会更改。
尝试以下操作:
<script>
function changeCaption(selTag) {
var caption = selTag.value;
document.getElementById("caption").innerHTML = "Wood: " + caption;
}
</script>
您应该使用innerHTML
属性来设置或返回<p>
元素的文本。
.text
是option
元素的属性,而不是p
。要设置p
文本,您应该使用.innerHTML
,
function changeCaption(selTag) {
var caption = selTag.options[selTag.selectedIndex].text;
document.getElementById("caption").innerHTML = "Wood: " + caption;
}
演示
document.getElementById返回对DOM元素的引用。您可以想出几个可以在Element对象上使用的候选者,即textContent、innerHTML和innerText(不适用于Firefox)
如果你阅读了这里的文章和developer.mozilla.org上的文档,你会注意到使用textContent比使用innerHTML更好地满足你的需求。
在针对innerHTML的Mozilla文档中,出于安全考虑,它说,
建议您在插入纯文本时不要使用innerHTML;相反,使用node.textContent。这不会解释传递的内容作为HTML,但将其作为原始文本插入。
相关文章:
- $rootScope not working
- jQuery document.ready not working
- Javascript getElementsByTagName not working?
- JQuery.val( ) not working
- Tomcat websocket is not working
- Javascript JSON.parse not working
- NodeJS Multer is not working
- Regex not working
- Ember run.debounce not working
- AngularJs 1 not working
- document.getElementById.style.backgroundImage not working
- Rxjs5, distinct() is not working
- createOscillator noteOn not working
- Javascript - .getHours() not working
- Javascript setTimeout not working | onkeydown
- MongoDB $pull not working
- Express router.use not working
- JSONP not working
- window.opener not working in chrome & IE
- Backbone + RequireJS: Collection.each() is not working