DOM专有扩展

Table of Contents

插入文本:


innerText, outerText

innerText

  1. 读取元素中包含的所有文本内容,只读取文本内容;
  2. 写入时会删除元素的所有节点,插入文本内容;
  3. 不同浏览器处理空白和换行的方式不一样;
  4. firefox不支持innerText,但支持textContent属性;

textContentinnerText的不同点在于:innerText会忽略行内的样式和脚本,textContent不会;

最佳实践 :从不包含行内样式和行内脚本的DOM中读取文本

  1. 使用innerText可以过滤标签,快捷地获得纯文本。
function getInnerText(element){
    return (typeof element.textContent == 'string') ? element.textContent : element.innerText;
}

function setInnerText(element, text){
    if(typeof element.textContent == 'string'){
        elemnt.textContent = text;
    }else{
        element.innerText = text;
    }
}

滚动相关

  • scrollIntoView():对元素调用此方法可以使页面滚动到与元素顶部平齐;
  • scrollIntoViewIfNeeded(alignCenter):调用方法的元素不可见的情况下运行,接受一个参数:是否垂直居中,布尔值;
  • scrollByLines(lineCount):将元素内容滚动到指定的行高;
  • scrollByPages(pageCount):将元素内容滚动至指定的页面高度;

以上三个方法支持性都不是很好!