最近遇到获取div内容的要求,自己去控制台打印后发现许多属性都可以获取到内容,不过要考虑到兼容和代码的规范性,所以又去查了下正确获取方式
以下是我验证总结:
①document.getelementbyid("ddhdh").innerHTML 可以获取到div中的全部数据,包括标签
②document.getelementbyid("ddhdh").innerTEXT 可以获取到div中的文本数据,不会获取到标签
③document.getElementById(“text”).textContent 用于在火狐中获取数据
这里纠正下,网上有许多总结都是第一种方式,其实这是错误做法。innerHTML 没有 value,这是合理的浏览器做法。正常的编程思路,是不在 innerHTML 取 value 的,这涉及到ie8之前的兼容
上面的标签在这几钟基于两种浏览器的内核的浏览器,这几种方法是不兼容的。下面是解决方案
if(navigator.appName.indexOf(“Explorer”) > -1){ var text = document.getElementById(“text”).innerText; }else{ var text = document.getElementById(“text”).textContent; }
扫描二维码关注公众号,回复:
246895 查看本文章
检索indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。
还有一种方法:直接检验是否火狐,若获取不到textContent,则是IE浏览器
if(document.getElementById(“text”).textContent){ var text = document.getElementById(“text”).textContent; }else{ var text = document.getElementById(“text”).innerText; }
.