js面试题(二)

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="去百度"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值