javascript - 单击按钮的警报内部 HTML
问题描述
我想让我的函数返回按钮内字符串的值,以便以后在其他东西中使用。
我尝试(this).innerHTML
并this.innerHTML
提取按钮内部的字符串,然后在 js HTML 中使用:
<button class="fonts" value="2" onclick="change((this).innerHTML)">Times New Roman</button><br>
<button class="fonts" value="1" onclick="change(this.innerHTML)">Calibri</button><br>
<button class="fonts" value="3" onclick="change(this.innerHTML)">Arial</button>
JS:
function change(){
alert();
}
我希望它提醒“Times New Roman”或其他字体,但它提醒一个空白值。
解决方案
您实际上并没有将 传递给innerHTML
函数。JS 应该看起来更像这样:
function change(font){
alert(font);
}
HTML 看起来像这样:
<button onclick="change(this.innerHTML)">Times New Roman</button>
<button onclick="change(this.innerHTML)">Calibri</button>
<button onclick="change(this.innerHTML)">Arial</button>
这是一个实际的小提琴:JSFiddle
如果你想要一个更简单的实现,你可以这样做:
JS:
function change(e){
e = e || window.event;
e = e.target || e.srcElement;
alert(e.innerHTML);
}
HTML:
<button onclick="change()">Times New Roman</button>
<button onclick="change()">Calibri</button>
<button onclick="change()">Arial</button>
推荐阅读
- python - Locale Norway/Sweden chcp 65001" and "chcp 1252 CSV File not Formatted correctly
- reactjs - React: Cannot update a component from inside the function body of a different component
- ruby - 红宝石中的内存泄漏
- c# - Serilog:防止创建空日志文件
- python - Qt for Python:使用 python 创建封装的 qml 模块
- c# - 为什么 C# 更喜欢类型别名而不是类型名称?
- opencv - OpenCV 的 cvtColor 抛出异常:Invalid number of channels in input image
- javascript - 构建需要很长时间才能响应的 API 的最佳实践是什么?
- knitr - 无法使用 Vitae 呈现出版物列表
- reactjs - 如何根据传入的道具对反应组件进行排序