关于this的选择时机,请教下高手,谢谢啦.

diamond_k 2018-06-30 03:25:04
HTML部分:

<!DOCTYPE HTML>
<html>
<head>
<title>购物车计算</title>
<meta charset="utf-8" />
<style>
table{width:600px; text-align:center;
border-collapse:collapse;
}
td,th{border:1px solid black}
td[colspan="3"]{text-align:right;}
</style>
</head>
<body>
<table id="data">
<thead>
<tr>
<th>商品名称</th>
<th>单价</th>
<th>数量</th>
<th>小计</th>
</tr>
</thead>
<tbody>
<tr>
<td>iPhone6</td>
<td>¥4488</td>
<td>
<button>-</button>
<span>1</span>
<button>+</button>
</td>
<td>¥4488</td>
</tr>
<tr>
<td>iPhone6 plus</td>
<td>¥5288</td>
<td>
<button>-</button>
<span>1</span>
<button>+</button>
</td>
<td>¥5288</td>
</tr>
<tr>
<td>iPad Air 2</td>
<td>¥4288</td>
<td>
<button>-</button>
<span>1</span>
<button>+</button>
</td>
<td>¥4288</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">Total: </td>
<td>¥14064</td>
</tr>
</tfoot>
</table>
<script src="js/6_2.js"></script>
</body>
</html>


JS部分:
var table=document.getElementById("data");
var btn=table.getElementsByTagName("button");
for(var i=0,len=btn.length;i<len;i++){
btn[i].onclick=calc;
}
function calc(){
var span=this.parentNode.getElementsByTagName("span")[0];
var n=parseInt(span.innerHTML);
n+=this.innerHTML=="+"?1:n>1?-1:0;
span.innerHTML=n;
}


代码均无问题,只是我没有完全弄懂 calc函数里,关于this和span该如何选择?或者说什么情况下才选择.
其中4个地方用到了span和this . 比如this.parentNode span.innerHTML this.innerHTML 和最后一句 span.innerHTML

最不理解的是span.innerHTML这句,到底是取网页中span的内容,还是函数里变量span的内容? 包括后2句也没完全想通.

-- 更新: --
刚我修改了 var span 和2处: span.innerHTML 的span为sp,代码也可以运行. 难不成获取的都是 span变量里的内容? span获取的不是一个下标为0的类数组值么 , 而且.innerHTML不是这么用的吧,我有点乱...

希望有高手抽空讲下原理,谢谢.
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-06-30
  • 打赏
  • 举报
回复
这只是把<span>对象赋值给一个名字叫span的变量。变量可以起任何名字,叫span只是方便区分保存的内容
diamond_k 2018-06-30
  • 打赏
  • 举报
回复
已经看懂了,自行了结.哈哈哈
内容概要:本文系统地介绍了基于Matlab/Simulink平台的直流电机双闭环控制系统仿真研究,聚焦于由电流环和转速环构成的双闭环控制结构,详细阐述了PI控制器的设计原理与参数整定方法。通过Simulink搭建完整的电机控制仿真模型,深入分析系统在启动过程、突加负载等典型工况下的动态响应特性,全面验证了双闭环控制策略在提升系统稳定性、响应快速性及抗干扰能力方面的优越性能,为电机控制系统的理论教学、课程实践与工程应用提供了可靠的仿真依据和技术支撑; 适合人群:自动化、电气工程及其相关专业的本科高年级学生、研究生,以及从事电机控制、电力电子与运动控制领域研究的科研人员和工程技术人员; 使用场景及目标:①应用于高校课程设计、毕业设计及科研项目中的电机控制仿真任务;②掌握双闭环PI控制系统的控制机理与Simulink建模与仿真技能;③提升对电机动态性能评估、控制器设计与参数优化的综合实践能力; 阅读建议:建议读者结合Matlab/Simulink软件动手搭建仿真模型,逐步调试PI控制器参数,观察并分析不同参数对系统性能的影响,从而深入理解控制策略的核心作用机制,并可在掌握基础后进一步拓展至先进控制算法如模糊控制、自适应控制和模型预测控制的研究与实现。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧