Dom、事件

2016-09-09  本文已影响23人  _Josh

问答


innerHTML:
  从对象的起始位置到终止位置的全部内容,包括Html标签。
 “<span style="color:red">test1</span> test2 ”
test.innerText:
  从起始位置到终止位置的内容, 但它去除Html标签
  上例中的text.innerTest的值也就是“test1 test2”, 其中span标签去除了。


elem.children
属性返回一个动态的HTMLCollection集合,由当前节点所有的Element子节点组成;
elem.childNodes
返回一个NodeList对象(类数组对象),包括但不限于Element节点,还包括Text节点(换行,空格)和
注释节点。


var el2 = document.querySelector('#myParent > [ng-click]');```
querySelector方法无法选中CSS伪元素。


可以通过createElement()方法创建新的HTML元素节点;通过setAttribute()方法设置元素属性。
var newDiv=document.createElement('div'); newDiv.setArrribute('class','wrap');


<body>
  <h1>What to buy</h1>
  <p>Don't forget to buy this stuff.</p>
  <ul id="purchases">
    <li>A tin of beans</li>
    <li class="sale">Cheese</li>
    <li class="sale important">Milk</li>
  </ul>
  <script type="text/javascript">
    var newLi = document.createElement('li');             // 创建新的 li 元素节点
    var oldLi = document.querySelector('.important');     // 获取需要删除的元素节点
    var newContent = document.createTextNode('Apple')     // 创建新的内容节点
    var ul = document.getElementById('purchases');        // 获取需要添加位置的父元素节点
    ul.removeChild(oldLi);                                // 从父节点上删除子节点
    newLi.appendChild(newContent);                        // 将内容节点添加到新的 li 节点上
    newLi.setAttribute('class','sale');                   // 给新的 li 节点添加 class 属性
    ul.appendChild(newLi);                                // 将 newLi 添加到 HTML 内
  </script>
</body>

// HTML
var btn = document.querySelector('#btn');
// JS
btn.onclick = function() {
  console.log('DOM0');
}
// HTML
var btn = document.querySelector('#btn');
// JS
btn.addEventListener('click', function(){
  console.log('DOM2');
})

  • addEventListener对IE8 及之前的版本不兼容,只能用attachEvent对事件进行监听,同时,监听事件的取消也只能用detachEvent实现而不能使用removeEventListener。

  • IE事件冒泡机制中事件最开始是由最具体的元素接收,逐层往上向其祖先元素进行传播,其祖先元素可以在此过程中接收事件并引发事件处理程序;

通过stopPropagation()方法可以阻止事件冒泡;
e.stopPropagation() IE e.cancelBubble = true;

通过preventDefault()可以阻止默认事件。
e.preventDefault() IE e.returnValue = false;


代码


<ul class="ct">
    <li>这里是</li>
    <li>饥人谷</li>
    <li>前端6班</li>
</ul>
<script>
//todo ...
</script>

<ul class="ct">
    <li>这里是</li>
    <li>饥人谷</li>
    <li>前端6班</li>
</ul>
<input class="ipt-add-content" placeholder="添加内容"/>
<button id="btn-add-start">开头添加</button>
<button id="btn-add-end">结尾添加</button>
<script>
//todo ...
</script>
<ul class="ct">
    <li data-img="1.png">鼠标放置查看图片1</li>
    <li data-img="2.png">鼠标放置查看图片2</li>
    <li data-img="3.png">鼠标放置查看图片3</li>
</ul>
<div class="img-preview"></div>
<script>
//todo ...
</script>

代码预览:
代码1
代码2
代码3
代码4
代码5


              本文版权归作者饥人谷_Josh和饥人谷所有,转载请注明来源
上一篇 下一篇

猜你喜欢

热点阅读