js中获取div中的数据

最近遇到获取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;
}

猜你喜欢

转载自570109268.iteye.com/blog/2400691