Javascript基础交互有哪些,具体怎么实现
Admin 2022-06-28 群英技术资讯 735 次浏览
今天这篇给大家分享的知识是“Javascript基础交互有哪些,具体怎么实现”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“Javascript基础交互有哪些,具体怎么实现”文章能帮助大家解决问题。只要在文档中符合都会获取到
var box = document.getElementById("box1");
console.log(box);//<div id="box1">我是DIV</div>
var box = document.getElementById("box2");
console.log(box); //null
var myH2 = document.getElementById("my-h2");
console.log(myH2);
var tests = document.getElementsByClassName("test");
console.log(tests);
console.log(tests.length); //获取长度
// 直接输出到控制台
console.log(tests[0]);
console.log(tests[1]);
console.log(tests[tests.length - 1]);
// 存储起来
var oDiv = tests[0];
var oH2 = tests[1];
console.log(oDiv, oH2);
var test1 = document.getElementsByClassName("test1");
console.log(test1, test1.length);
console.log(test1[0]);
console.log(test1[1]); //没有这个小标或索引 相当于集合中这个位置还没有初始化,或未定义 返回undefined
var hello = document.getElementsByClassName("hello");
console.log(hello, hello.length);
console.log(hello[0]); //undefined
var oLis = document.getElementsByTagName("li");
console.log(oLis);
// 获取长度
console.log(oLis.length);
// 获取具体的元素
console.log(oLis[0]);
console.log(oLis[1]);
console.log(oLis[2]);
console.log(oLis[oLis.length - 1]);
父级元素:必须是具体的元素
// 获取ol下的li
// 获取父级元素
var wrap = document.getElementById("wrap");
console.log(wrap);
// var oLis = wrap.getElementsByClassName("test");
var oLis = wrap.getElementsByTagName("li");
console.log(oLis);
console.log(oLis.length);
console.log(oLis[0]);
console.log(oLis[1]);
console.log(oLis[oLis.length - 1]);
// 获取ul下的li
// 获取父级
var wrap1 = document.getElementsByClassName("wrap");
console.log(wrap1);
console.log(wrap1[0]);
console.log(wrap1[1]);
// var ullis = wrap1[1].getElementsByClassName("test");
var ullis = wrap1[1].getElementsByTagName("li");
console.log(ullis);
console.log(ullis.length);
console.log(ullis[0]);
console.log(ullis[1]);
console.log(ullis[ullis.length - 1]);
绑定事件也要是具体的元素,不能够直接去操作集合
<div id="box"></div>
<ul id="myUl">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<script>
var box = document.getElementById("box");
console.log(box);
var myUl = document.getElementById("myUl")
console.log(myUl);
var oLis = myUl.getElementsByTagName("li");
console.log(oLis);
// - onclick 单击事件
box.onclick = function() {
console.log("单击");
}
// - ondblclick 双击事件
oLis[0].ondblclick = function() {
console.log("双击事件");
}
// - onmousedown 鼠标按下
oLis[1].onmousedown = function() {
console.log("鼠标按下");
}
// - onmouseup 鼠标抬起
oLis[1].onmouseup = function() {
console.log("鼠标抬起");
}
// - onmousemove 鼠标移动
oLis[1].onmousemove= function() {
console.log("鼠标移动");
}
// - oncontextmenu 鼠标右击
oLis[2].oncontextmenu = function() {
console.log("鼠标右击");
}
// - onmouseover 鼠标移入
myUl.onmouseover = function() {
console.log("鼠标移入");
}
// - onmouseout 鼠标移出
myUl.onmouseout = function() {
console.log("鼠标移出");
}
// - onmouseenter 鼠标进入
myUl.onmouseenter = function() {
console.log("鼠标进入");
}
// - onmouseleave 鼠标离开
myUl.onmouseleave = function() {
console.log("鼠标离开");
}
</script>
onmouseover及onmouseout不仅会触发自身这个事件对应的事情还会将父级这个事件对应做的事情再次触发
onmouseenter及onmouseleave:只会触发自身这个事件对应做的事情,不会触发父级这个事件对应做的事情
原则:给值就是设置,不给值就是获取
元素的所有操作都必须是具体的元素,集合不能直接操作
从元素中获取到的内容都是字符串,没有内容获取到的是空字符串
// 多次赋值后边覆盖前边的
// 获取元素
var inputs = document.getElementsByTagName("input");
var btn = document.getElementsByTagName("button")[0];
console.log(inputs, btn);
// 将两个输入框的和展示到第三个输入框
// 绑定事件
// 事件每点击一次 函数中代码就重新执行一次
btn.onclick = function () { //做什么事情
// 获取两个输入框的值
var oneVal = inputs[0].value;
var twoVal = inputs[1].value;
console.log(oneVal, twoVal);
// 遇到字符串表示拼接 先转为数字
var total = parseFloat(oneVal) + parseFloat(twoVal);
console.log(total);
// 将和设置给第三个输入框
inputs[2].value = total;
}
var div = document.getElementsByTagName("div")[0];
var h2 = document.getElementsByTagName("h2")[0];
var p = document.getElementsByTagName("p")[0];
console.log(div, h2,p);
// 设置:表单元素.innerText/innHTML = 值;
// 后边设置的覆盖前边的
// div.innerText = "我是div";
// div.innerText = "<h6>我是div</h6>";
// div.innerHTML = "我是div";
div.innerHTML = "<h6><a href='https://www.baidu.com'>我是div</a></h6>";
h2.innerHTML = "我是H2";
// 获取:表单元素.innerText/innHTML;
console.log(div.innerText);//我是div
console.log(div.innerHTML);//<h6><a href="https://www.baidu.com">我是div</a></h6>
console.log(p.innerText);
console.log(p.innerHTML);
操作结构上天生自带的属性
元素.id = 值;/元素.id;
元素.className = 值;/元素.className;
元素.title = 值;/元素.title;
...
// 获取元素
var div = document.getElementsByTagName("div")[0];
// 设置
div.className = "myBox";
div.title = "我是div";
// 获取
console.log(div.id);
console.log(div.className);
console.log(div.title);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录vue-router-link选择样式设置第一种第二种hash和history的区别1.hash2.history(服务器环境下才有效果)vue-router的link样式设置vue-router-link选择样式设置第一种在router-link组件上 添加属性 active-class=‘ative’在css中
判断方法:1、用“输入控件对象.value”语句获取用户输入的数据;2、用“var re = /^[0-9]+.?[0-9]*/;”语句定义正则表达式对象;3、用“re.test(输入数据)”语句通过正则表达式判断输入数据是否为数值类型。
前台----> 后台后台要接受前台的数据,只能通过http 但是前台接受后台的数据有 from ajax jsonpnodejs给我们提供了模块url模块,可以专门解析url地址让我们在走一遍流程案例:consthttp=require("http");//引入http模块,创建服务器constur
这篇文章主要为大家详细介绍了js实现纯前端压缩图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了Vue 3自定义指令开发的相关总结,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008