1. 如何为dom元素添加自定义属性?
setAttribute(“属性名”,“值”);
2. 如何获取当前元素的下一个元素?下一个标签元素?
下一个元素:nextSibling 下一个标签元素:nextElementSibling
3. 如何获取当前元素的所有子元素?所有标签子元素?
所有子元素:childNodes标签子元素:children
4. 如何阻止事件冒泡?
event.stopPropagation()
event.cancelBubble=true;IE10一下可以使用
5. 如何删除dom元素
event.remove();
parentNode.removeChild();
6. 什么是事件冒泡?
由内向外传播遇到外层相同的事件则触发
7. 节点类型有几种?
标签 文本 属性 1 2 3 nodeType
8. 事件委托的核心?
核心就是事件冒泡
9. 标准浏览器事件绑定有哪几种方式?哪种方式能多次绑定?
标签属性onClick=“x()”; dom.οnclick=function(){};
dom.addEvntListener(“click”,function(){}true)
addEvntListener(“click”,function(){})可以多次绑定
10. 元素自身属性和自定义属性在设置和获取上有什么区别?
自身属性:dom.属性=1;
自定义属性:dom.setAttribute(属性名,值)
dom.getAttribite(属性名)
11. 如何在元素的首位添加一个元素?类似数组的unshift
dom.insertBefore(“要插入的内容,插在那个元素前面”)
12. innerHTML与innerText的区别
innerHTML设置和获取内容时包含标签和文本;
innerText设置内容时只包含文本;
13. dom元素所有兄弟元素的获取?
dom.parentNode.children
14. 如何判断数组中是否有大于10的元素?
arr.some(function(v){ return v>10 })
15. 举例说明哪些属于默认行为?如何阻止?
a submit file return false event.preventDefault()
16. 如何在body尾部动态添加一个id为box的div?
var div = createElement(“div”) div.id=“box”; document.body.appendChild(div)
17. 事件委托有哪些优点?
1.后添加的元素也有事件 2.避免大量绑定事件
18. 如何获取元素的宽度?
dom.offsetWidth;dom.clientWidth;。
dom.style.width;
getComputedstyle(dom).width
19. event.pageY和event.clientY区别
clientY以当前窗口为0 pageY以文档为0
20. offsetLeft与marginLeft和left的区别
left是距离左边框的像素 offsetLeft是元素定位后距离左边的像素
21. 如何获取dom元素,至少写出5种。
var del1 = document.getElementById("delBtn"); var del2 = document.getElementsByClassName("delBtn")[0]; var del3 = document.getElementsByTagName("button")[0]; var del4 = document.getElementsByName("del")[0]; var del5 = document.querySelector("#delBtn"); var del6 = document.querySelectorAll(".delBtn")[0];
22. onmouseenter和onmouseover的区别?
onmouseover事件冒泡,发生在父元素和子元素切换 onmouseenter在父子元素之间切换不重复触发
23. 什么是事件冒泡?标准浏览器下如何阻止事件冒泡?
从内到外依次传播遇到外层相同事件则触发是事件冒泡; stopPropagation();
24. 模拟点击dom.click()和dom.onclick()区别?
onclick是绑定事件,告诉浏览器在鼠标点击时候要做什么。 click本身是方法作用是触发onclick事件,只要执行了元素的click(),就会触发onclick事件
25. 百度 ①获取a标签的宽度、高度、文字颜色 ②获取a标签上的num属性和href属性; ③点击a标签不跳转至百度首页 ④为a标签增加一个值为20的count属性; ⑤为a标签增加一个值为”去百度”的title属性;
1.baidu.offsetWidth; baidu.offsetHeight; getComputedStyle(baidu).color 2.baidu.getAttribute("num") baidu.href 3.renturn flass 4.baidu.setAttribute("count",20) 5.baidu.title="去百度"