javascript随笔---小白求教

candy_soft 2018-02-04 09:56:11
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div{
width: 200px;
height: 100px;
background-color: #ccc;
position: relative;
float: left;
margin: 10px;
}
div input{
/*text-align: center;*/
background-color: limegreen;
border: 1px solid #FF0000;
margin: 0px auto 0;
position: absolute;
bottom: 10px;
left:50%;
display: none;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<script type="text/javascript">
var oBtn = document.getElementById('btn');
var aDiv = document.getElementsByTagName('div');


for(var i=0;i<aDiv.length;i++)
{

aDiv[i].onmouseover = function()
{
aDiv[i].innerHTML = "<input type="button" name="btn" id="btn" value="Select" />";
oBtn.style.display = "block";
};
};

/*aDiv[i].onmouseover = function()
{
oBtn.style.display = "block";
}*/
</script>
</body>
</html>
...全文
837 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
candy_soft 2018-02-04
  • 打赏
  • 举报
回复
我将第二个问题才getElementsByTagName方法也能运行,不过代码执行太慢了
天际的海浪 2018-02-04
  • 打赏
  • 举报
回复
更正,循环变量用let 定义的。就没有第一个问题了。
天际的海浪 2018-02-04
  • 打赏
  • 举报
回复
引用 2 楼 candy_soft 的回复:
var aDiv = document.getElementsByTagName('div'); for(let i=0;i<aDiv.length;i++) { aDiv[i].onmouseover = function() { aDiv[i].innerHTML = "<input type='button' name='btn' id='btn' value='Select' />"; //alert(aDiv[i]); var oBtn = document.getElementById('btn'); oBtn.style.display = "block"; }; }; 这样你看行不行
你这样不行。有两个问题。 一, 事件执行时,for循环早就结束了,这个时候i已经是最大值加1了。 解决方法是可以用闭包把每次循环i的值保存起来。 或者在事件函数内不使用循环变量i,而是用this获取触发事件的元素 二, 同一页面中元素的id必须是唯一的,id不能重复,重复的id用document.getElementById()获取时,只能获取到第一个。
candy_soft 2018-02-04
  • 打赏
  • 举报
回复
var aDiv = document.getElementsByTagName('div'); for(let i=0;i<aDiv.length;i++) { aDiv[i].onmouseover = function() { aDiv[i].innerHTML = "<input type='button' name='btn' id='btn' value='Select' />"; //alert(aDiv[i]); var oBtn = document.getElementById('btn'); oBtn.style.display = "block"; }; }; 这样你看行不行
天际的海浪 2018-02-04
  • 打赏
  • 举报
回复
var aDiv = document.getElementsByTagName('div'); for(var i=0;i<aDiv.length;i++) { aDiv[i].onmouseover = function() { this.innerHTML = '<input type="button" name="btn" value="Select" />'; var oBtn = this.getElementsByTagName("input")[0]; oBtn.style.display = "block"; }; };
JavaScript极速狂飙:组合拼接字符串的效率JavaScript极速狂飙:CSS样式表的背景渲染效率JavaScript面向对象的支持--(1)JavaScript面向对象的支持--(2)JavaScript面向对象的支持--(3)JavaScript面向对象的支持--(4)JavaScript面向对象的支持--(5)JavaScript面向对象的支持--(6)JavaScript精简学习1:基础知识JavaScript精简学习2:浏览器输出JavaScript精简学习3:图像JavaScript精简学习4:表单事半功倍之Javascript--(1)事半功倍之Javascript--(2)事半功倍之Javascript--(3)事半功倍之Javascript--(4)JavaScript教程--从入门到精通--(1)JavaScript教程--从入门到精通--(2)JavaScript教程--从入门到精通--(3)JavaScript教程--从入门到精通--(5)JavaScript教程--从入门到精通--(6)JavaScript教程--从入门到精通--(7)JavaScript教程--从入门到精通--(8)JavaScript教程--从入门到精通--(9)悟透JavaScript(李站老师)-编程的快乐悟透JavaScript(李站老师)-初看原型悟透JavaScript(李站老师)-对象素描悟透JavaScript(李站老师)-放下对象悟透JavaScript(李站老师)-构造对象悟透JavaScript(李站老师)-原型扩展用javascript操作 asp .net TextBox控件用javascript操作 asp .net Label控件用javascript操作 asp .net TextBox控件 下用javascript操作asp.net label控件 外一篇用javascript改变onclick调用的函数用JavaScript加密保护网站页面用Javascript检测网速的方法用Javascript评估用户输入密码的强度用JavaScript实现仿Windows关机效果用javascript实现进度条用javascript怎样实现图片模糊效果《ExtJS2.0实用简明教程》之Border区域布局《ExtJS2.0实用简明教程》之Ext类库简介《ExtJS2.0实用简明教程》之布局概述《ExtJS2.0实用简明教程》之获得ExtJS《ExtJS2.0实用简明教程》之应用ExtJSjs访问xml之遍历节点树js访问xml之创建xmlDocumentjs访问xml之根节点操作js访问xml之节点操作(1)js访问xml之节点操作(2) js访问xml之节点对象属性和方法js访问xml之删除一个book元素节点js访问xml之添加一个book元素节点【JS】兼容ff的加入收藏和设为首页【补】【sina】绕过sina博客的限制,超级BT执行Javascript【blog】介绍一下给sina博客加背景音乐的办法【Blog】再次解说博客加音乐的办法张孝祥JavaScript教程笔记:HTML基础张孝祥JavaScript教程笔记:HTML基础(二)张孝祥JavaScript教程笔记:HTML基础(三)-URL,图像标签,图像地图JavaScript经典效果集锦(一)JavaScript经典效果集锦(二)JavaScript经典效果集锦(三)Javascript技术技巧大全(一)Javascript技术技巧大全(二)Javascript技术技巧大全(三)Javascript技术技巧大全(四)Javascript技术技巧大全(五)JavaScript[对象.属性]集锦之一

87,997

社区成员

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

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